Method of producing color conversion table, image processing device, image processing method, program and recording medium

ABSTRACT

A method of producing a color conversion table capable of enhancing continuity in an image-data color conversion, an image processing device and a method using the color conversion table, a program and a recording medium. The image processing device performs an image processing by using a color conversion table produced by using functions for evaluating a smoothing level at each element of lattice point data after color conversion by a color conversion table. Functions for evaluating the above smoothing level include a function based on the twisted quantity of ink-quantity vector, a function based on a twisted quantity at a virtual CMY, a function based on a deviation from a target ink quantity, a function based on a deviation from a target virtual CMY, a function based on a failure to meet an ink quantity limitation, a function based on ink quantity reduced to minus, and a function based on ink generation.

TECHNICAL FIELD

The present invention relates to production of a color conversion tablecapable of enhancing continuity of color conversion of image data.

BACKGROUND ART

A color reproducing device such as a scanner, a monitor, a printer, anda projector is different in a color reproduction characteristic due todifference in whether self-luminous or reflective, difference in tonerepresentation, difference in primary colors to be used, and the like,and thus, even if the same RGB values, CMY values, or CMYK values areused, reproduced colors are largely different from one another.Therefore, to reproduce the same color on different color reproducingdevices, it is necessary to represent a color in a device-independentspace where a color is represented independently of characteristics ofthe devices, and to carry out so-called color management whichdetermines actual ink quantities or monitor RGB values so that thecolors are the same in the space.

For example, as for a color printer, on the assumption that the RGBvalues of a scanner, a printer, a monitor, and the like are sRGB values,which is an international standard, Lab values are calculated accordingto the standard from the RGB values, and then, the Lab values arecolor-converted to a combination of inks for reproducing a color closestto the Lab values among the colors reproducible by the printer. Ingeneral, this conversion is carried out at a predetermined grid intervalin the RGB space, thereby producing a color conversion table (LUT),which carries out color conversion from RGB values to ink quantities inadvance, and the color conversion table is installed in a printer driveror the like to reproduce desired colors.

Generally, a color reproduction characteristic of a printer isdetermined by a characteristic of what combination of inks is used(referred to as “separation” hereinafter) for input RGB values. Thisseparation is designed to satisfy various conditions, and thus, oftencauses discontinuous changes in the ink quantities. Therefore, there arealways areas where the ink quantities discontinuously change on a colorconversion table created by simply using this separation characteristic,resulting in tone jumps. If there exists the discontinuity in thelattice, a large error occurs in linear interpolation carried out forobtaining data between the lattice points, thereby also causing a twistin the color in this case.

The present invention is devised to solve the above problems, and has afirst object of providing a method of producing a color conversion tablecapable of restraining the color twists and the tone jumps in the outputimage as much as possible by correcting the discontinuities in theseparation characteristic, and thus, enhancing the continuity of thecolor conversion table, and providing an image processing device, amethod, a program, and a recording medium which use the color conversiontable.

If simple smoothing is applied to the table to solve the discontinuitiesin the lattice, the chroma may decrease across the entire table.

Further, the present invention is devised also to solve the aboveproblem, and has a second object of providing a method of producing acolor conversion table capable of restraining the color twists and thetone jumps as much as possible while maintaining the chroma, andproviding an image processing device, an image processing method, aprogram, and a recording medium which use the color conversion table.

Further, the present invention is devised to solve the above problem,and has a third object of providing a device, a method, and a programfor producing a profile enabling color management among different colorreproducing devices while restraining the color twists and the tonejumps of the output image as much as possible, and providing a recordingmedium for recording the program.

DISCLOSURE OF INVENTION

The present invention described in claim 1, is a method for producing acolor conversion table by using a smoothing level evaluation functionused for evaluating a smoothing level at respective lattice point dataafter color conversion by the color conversion table.

The present invention described in claim 2, is an image processingdevice carrying out image processing using a color conversion tableproduced by using a smoothing level evaluation function used forevaluating a smoothing level at respective lattice point data aftercolor conversion by the color conversion table.

The present invention described in claim 3, is the image processingdevice according to claim 2, wherein said smoothing level evaluationfunction includes an evaluation function based on a twisted quantity ofan ink-quantity vector before and after the conversion using the colorconversion table.

In the above description, “a twisted quantity of an ink-quantity vectorbefore and after the conversion using the color conversion table”implies a twisted quantity defined by the ink-quantity vectors betweenall grid points neighboring each other in an ink-quantity spacerepresented by the ink quantities after the conversion corresponding tothe respective grid points represented by input values (RGB) of thecolor conversion table.

The present invention described in claim 4, is the image processingdevice according to claim 2 or 3, wherein said smoothing levelevaluation function includes an evaluation function based on a twistedquantity in a virtual CMY space.

In the above description, “a twisted quantity in a virtual CMY space”implies a twisted quantity defined by the three-dimensional vectorsbetween all grid points neighboring each other in a space (virtual CMYspace) three-dimensionalized by linear combination of an I-dimensionalspace (I is the number of inks) relating to the ink quantities.

The present invention described in claim 5, is the image processingdevice according to any one of claims 2 through 4, wherein said twistedquantities are corrected both in said ink-quantity space and saidthree-dimensionalized virtual CMY space so as to correct the twistedquantities while maintaining continuity of the space before and aftercompression of the dimension.

The present invention described in claim 6, is the image processingdevice according to any one of claims 2 through 5, wherein saidsmoothing level evaluation function includes an evaluation functionbased on a deviation level from a target ink quantity.

The present invention described in claim 7, is the image processingdevice according to any one of claims 2 through 6, wherein saidsmoothing level evaluation function includes an evaluation functionbased on a deviation level from target virtual CMY.

The present invention described in claim 8, is the image processingdevice according to any one of claims 2 through 7, wherein saidsmoothing level evaluation function includes an evaluation functionbased on an excess level from an ink quantity limitation.

The present invention described in claim 9, is the image processingdevice according to any one of claims 2 through 8, wherein saidsmoothing level evaluation function includes an evaluation functionbased on an ink quantity reduced to minus.

The present invention described in claim 10, is the image processingdevice according to any one of claims 2 through 9, wherein saidsmoothing level evaluation function includes an evaluation functionbased on ink generation.

In the above description, “an evaluation function based on inkgeneration” implies a function used for evaluating whether an ink isproduced at a point where no ink quantity originally is present on thecolor conversion table before the smoothing.

The present invention described in claim 11, is an image processingmethod for carrying out image processing using a color conversion tableproduced by using a smoothing level evaluation function used forevaluating a smoothing level at respective lattice point data aftercolor conversion by the color conversion table.

The present invention described in claim 12, is a program ofinstructions for execution by the computer to perform animage-processing using a color conversion table produced by using asmoothing level evaluation function used for evaluating a smoothinglevel at respective lattice point data after color conversion by thecolor conversion table.

The present invention described in claim 13, is a method for producing acolor conversion table by using a smoothing level evaluation functionused for evaluating a smoothing level at respective lattice point dataafter color conversion by the color conversion table in a perceptuallyuniform color space such as the Lab space.

The present invention described in claim 14, is an image processingdevice carrying out image processing using a color conversion tableproduced by using a smoothing level evaluation function used forevaluating a smoothing level at respective lattice point data aftercolor conversion by the color conversion table in a perceptually uniformcolor space such as the Lab space.

The present invention described in claim 15, is the image processingdevice according to claim 14, wherein said smoothing level evaluationfunction includes an evaluation function based on a twisted quantity dueto the perceptually uniform color space such as the Lab space before andafter the color conversion using the color conversion table.

The present invention described in claim 16, is the image processingdevice according to claim 14 or 15, wherein said smoothing levelevaluation function includes an evaluation function based on a deviationlevel from the target perceptually uniform color space such as the Labspace.

The present invention described in claim 17, is an image processingmethod carrying out image processing using a color conversion tableproduced by using a smoothing level evaluation function used forevaluating a smoothing level at respective lattice point data aftercolor conversion by the color conversion table in a perceptually uniformcolor space such as the Lab space.

The present invention described in claim 18, is a program ofinstructions for execution by the computer to perform animage-processing using a color conversion table produced by using asmoothing level evaluation function used for evaluating a smoothinglevel at respective lattice point data after color conversion by thecolor conversion table in a perceptually uniform color space such as theLab space.

The present invention described in claim 19, is a method for producing acolor conversion table by using a smoothing level evaluation functionused for evaluating a smoothing level at respective lattice point dataafter color conversion by the color conversion table in a color spacesuch as the CMY space.

The present invention described in claim 20, is an image processingdevice carrying out image processing using a color conversion tableproduced by using a smoothing level evaluation function used forevaluating a smoothing level at respective lattice point data aftercolor conversion by the color conversion table in a color space such asthe CMY space.

The present invention described in claim 21, is the image processingdevice according to claim 20, wherein said smoothing level evaluationfunction includes an evaluation function based on a twisted quantity dueto the color space such as the CMY space before and after the colorconversion using the color conversion table.

The present invention described in claim 22, is the image processingdevice according to claim 20 or 21, wherein said smoothing levelevaluation function includes an evaluation function based on a deviationlevel from target CMY values.

The present invention described in claim 23, is the image processingdevice according to any one of claims 20 through 22, wherein saidsmoothing level evaluation function includes an evaluation functionpreventing the CMY value from exceeding 255.

The present invention described in claim 24, is the image processingdevice according to any one of claims 20 through 23, wherein saidsmoothing level evaluation function includes an evaluation functionpreventing the CMY value from being reduced to minus.

The present invention described in claim 25, is an image processingmethod carrying out image processing using a color conversion tableproduced by using a smoothing level evaluation function used forevaluating a smoothing level at respective lattice point data aftercolor conversion by the color conversion table in a color space such asthe CMY space.

The present invention described in claim 26, is a program ofinstructions for execution by the computer to perform animage-processing using a color conversion table produced by using asmoothing level evaluation function used for evaluating a smoothinglevel at respective lattice point data after color conversion by thecolor conversion table in a color space such as the CMY space.

The present invention described in claim 27, is a method for producing acolor conversion table by using a smoothing level evaluation functionused for evaluating a smoothing level of color data at respectivelattice points after color conversion by the color conversion table, andsimultaneously, carrying out the color conversion such that the chromarepresented by the color data at the respective lattice points ismaintained approximately constant before and after said smoothing.

The present invention described in claim 28, is an image processingdevice carrying out image processing using a color conversion tableproduced by using a smoothing level evaluation function used forevaluating a smoothing level of color data at respective lattice pointsafter color conversion by the color conversion table, andsimultaneously, carrying out the color conversion such that the chromarepresented by the color data at the respective lattice points ismaintained approximately constant before and after said smoothing.

The present invention described in claim 29, is the image processingdevice according to claim 28, wherein said color conversion tablecarries out the color conversion such that, as for such color data atthe lattice point that the chroma represented by the color datadecreases after said smoothing compared with the chroma represented bythe color data before said smoothing, the chroma represented by thecolor data is maintained approximately constant before and after saidsmoothing.

The present invention described in claim 30, is the image processingdevice according to claim 29, wherein said color conversion tablecarries out the color conversion such that, as for such color data atthe lattice point that a ratio of the chroma represented by the colordata after said smoothing to the maximum chroma determined by the hueand lightness represented by the color data after said smoothingdecreases compared with a ratio of the chroma represented by the colordata before said smoothing to the maximum chroma determined by the hueand lightness represented by the color data after said smoothing, thechroma represented by the color data is maintained approximatelyconstant before and after said smoothing.

The present invention described in claim 31, is the image processingdevice according to claim 28 or 29, wherein said color conversion tablecarries out the color conversion such that, as for such color data aspresenting the maximum chroma, the chroma represented by the color datais maintained approximately constant before and after said smoothing.

The present invention described in claim 32, is the image processingdevice according to claim 28 or 29, wherein said color conversion tablecarries out the color conversion such that, as for such color data asnot including at least one color of a plurality of element colorsconstituting the color data as a component color, the chroma representedby the color data is maintained approximately constant before and aftersaid smoothing.

The present invention described in claim 33, is the image processingdevice according to any one of claims 28 through 32, wherein said colorconversion table carries out the color conversion such that a ratio ofthe chroma represented by the color data at the lattice point after saidsmoothing to the maximum chroma determined by the hue and lightnessrepresented by the color data after said smoothing, and a ratio of thechroma represented by the color data before said smoothing to themaximum chroma determined by the hue and lightness represented by thecolor data after said smoothing are maintained approximately constant.

The present invention described in claim 34, is the image processingdevice according to any one of claims 28 through 33, wherein saidsmoothing level evaluation function includes an evaluation functionbased on a twisted quantity of an ink-quantity vector before and afterthe conversion using the color conversion table.

The present invention described in claim 35, is the image processingdevice according to any one of claims 28 through 34, wherein saidsmoothing level evaluation function includes an evaluation functionbased on a twisted quantity in a virtual CMY space.

The present invention described in claim 36, is the image processingdevice according to any one of claims 28 through 35, wherein saidtwisted quantities are corrected both in said ink-quantity space andsaid three-dimensionalized virtual CMY space so as to correct thetwisted quantities while maintaining continuity of the space before andafter compression of the dimension.

The present invention described in claim 37, is the image processingdevice according to any one of claims 28 through 36, wherein saidsmoothing level evaluation function includes an evaluation functionbased on a deviation level from a target ink quantity.

The present invention described in claim 38, is the image processingdevice according to any one of claims 28 through 37, wherein saidsmoothing level evaluation function includes an evaluation functionbased on a deviation level from target virtual CMY.

The present invention described in claim 39, is the image processingdevice according to claim 38, wherein said color conversion tablecarries out the color conversion such that the chroma represented by thecolor data is maintained approximately constant before and after saidsmoothing in said target virtual CMY.

The present invention described in claim 40, is the image processingdevice according to any one of claims 28 through 39, wherein saidsmoothing level evaluation function includes an evaluation functionbased on an excess level from an ink quantity limitation.

The present invention described in claim 41, is the image processingdevice according to any one of claims 28 through 40, wherein saidsmoothing level evaluation function includes an evaluation functionbased on an ink quantity reduced to minus.

The present invention described in claim 42, is the image processingdevice according to any one of claims 28 through 41, wherein saidsmoothing level evaluation function includes an evaluation functionbased on ink generation.

The present invention described in claim 43, is an image processingmethod carrying out image processing using a color conversion tableproduced by using a smoothing level evaluation function used forevaluating a smoothing level of color data at respective lattice pointsafter color conversion by the color conversion table, andsimultaneously, carrying out the color conversion such that the chromarepresented by the color data at the respective lattice points ismaintained approximately constant before and after said smoothing.

The present invention described in claim 44, is a program ofinstructions for execution by the computer to perform animage-processing using a color conversion table produced by using asmoothing level evaluation function used for evaluating a smoothinglevel of color data at respective lattice points after color conversionby the color conversion table, and simultaneously, carrying out thecolor conversion such that the chroma represented by the color data atthe respective lattice points is maintained approximately constantbefore and after said smoothing.

The present invention described in claim 45, is a profile producingdevice producing a profile by using a color chart output by an imageoutput device comprising: a smoothed table producing means for producinga color conversion table smoothed by using a smoothing level evaluationfunction used for evaluating a smoothing level at respective latticepoint data after color conversion by the color conversion table; a colorchart producing means for causing the image output device to output thecolor chart based on desired image input data using the smoothed colorconversion table produced by said smoothed table producing means; acolorimetry means for obtaining a colorimetry value of the color chart;and a profile producing means for producing a profile from acorrespondence between said desired image input data and the colorimetryvalue corresponding to said image input data.

The present invention described in claim 46, is the profile producingdevice according to claim 45, wherein said desired image input datainclude a device value depending on a color reproduction characteristicof the image output device.

The present invention described in claim 47, is the profile producingdevice according to claim 46, wherein the device value depending on thecolor reproduction characteristic of said image output device includesRGB values, CMY values, or CMYK values.

The present invention described in claim 48, is the profile producingdevice according to any one of claims 45 through 47, wherein saidcolorimetry value is a colorimetry value indicating appearance of acolor.

The present invention described in claim 49, is the profile producingdevice according to claim 48, wherein said colorimetry value indicatingthe appearance of the color includes Lab values, Luv values, XYZ values,or CIE CAM 97S.

The present invention described in claim 50, is the image processingdevice according to any one of claims 45 through 49, wherein saidsmoothing level evaluation function includes an evaluation functionbased on a twisted quantity of an ink-quantity vector before and afterthe conversion using the color conversion table.

The present invention described in claim 51, is the image processingdevice according to any one of claims 45 through 50, wherein saidsmoothing level evaluation function includes an evaluation functionbased on a twisted quantity in a virtual CMY space.

The present invention described in claim 52, is the image processingdevice according to any one of claims 45 through 51, wherein saidtwisted quantities are corrected both in said ink-quantity space andsaid three-dimensionalized virtual CMY space so as to correct thetwisted quantities while maintaining continuity of the space before andafter compression of the dimension.

The present invention described in claim 53, is the image processingdevice according to any one of claims 45 through 52, wherein saidsmoothing level evaluation function includes an evaluation functionbased on a deviation level from a target ink quantity.

The present invention described in claim 54, is the image processingdevice according to any one of claims 45 through 53, wherein saidsmoothing level evaluation function includes an evaluation functionbased on a deviation level from target virtual CMY.

The present invention described in claim 55, is the image processingdevice according to any one of claims 45 through 54, wherein saidsmoothing level evaluation function includes an evaluation functionbased on an excess level from an ink quantity limitation.

The present invention described in claim 56, is the image processingdevice according to any one of claims 45 through 55, wherein saidsmoothing level evaluation function includes an evaluation functionbased on an ink quantity reduced to minus.

The present invention described in claim 57, is the image processingdevice according to any one of claims 45 through 56, wherein saidsmoothing level evaluation function includes an evaluation functionbased on ink generation.

The present invention described in claim 58, is a profile producingmethod producing a profile by using a color chart output by an imageoutput device comprising: a smoothed table producing step for producinga color conversion table smoothed by using a smoothing level evaluationfunction used for evaluating a smoothing level at respective latticepoint data after color conversion by the color conversion table; a colorchart producing step for causing the image output device to output thecolor chart based on desired image input data using the smoothed colorconversion table produced by said smoothed table producing step; acolorimetry step for obtaining a colorimetry value of the color chart;and a profile producing step for producing a profile from acorrespondence between said desired image input data and the colorimetryvalue corresponding to said image input data.

The present invention described in claim 59, is a program ofinstructions for execution by the computer to perform a profileproducing method producing a profile by using a color chart output by animage output device, said profile producing method comprising: asmoothed table producing step for producing a color conversion tablesmoothed by using a smoothing level evaluation function used forevaluating a smoothing level at respective lattice point data aftercolor conversion by the color conversion table; a color chart producingstep for causing the image output device to output the color chart basedon desired image input data using the smoothed color conversion tableproduced by said smoothed table producing step; a colorimetry step forobtaining a colorimetry value of the color chart; and a profileproducing step for producing a profile from a correspondence betweensaid desired image input data and the colorimetry value corresponding tosaid image input data.

The present invention described in claim 60, is a recording mediumreadable by a computer recording a program according to any one ofclaims 56, 18, 26, and 44.

The present invention described in claim 61, is a method for producing acolor conversion table using a plurality of costs used for evaluating alevel of smoothing at respective lattice point data after colorconversion using the color conversion table.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a function block diagram of a color conversion table producingdevice according to an embodiment of the present invention;

FIG. 2 is a block diagram for showing a constitution of the colorconversion table producing device and the image processing apparatusaccording to the present invention;

FIG. 3 is a function block diagram of an image processing deviceaccording to the embodiment of the present invention;

FIG. 4 is a flowchart for explaining an operation of the imageprocessing device 20B;

FIG. 5 is a flowchart describing the processing by the color conversiontable producing device;

FIG. 6 is a flowchart describing the smoothing processing by the colorconversion table according to the first embodiment;

FIG. 7 describes a definition of a twisted quantity vector of inkquantities according to the first embodiment;

FIG. 8 is a function block diagram of an image processing apparatusaccording to an embodiment of the present invention;

FIG. 9 is a flowchart describing the smoothing processing across theentire LUT by the color conversion table according to the secondembodiment;

FIG. 10 describes a definition of an Lab vector according to the secondembodiment;

FIG. 11 is a flowchart describing the smoothing processing across theentire LUT by the color conversion table according to the thirdembodiment;

FIG. 12 describes a definition of CMY vectors according to the thirdembodiment;

FIG. 13 is a drawing showing the grid point “p”, the grid point “T” andthe grid point “T′” in the virtual CMY space;

FIG. 14 is a drawing showing the grid point “p”, the grid point “T” andthe grid point “T′” in the virtual CMY space according to the firstvariation;

FIG. 15 is a drawing showing the grid point “p”, the grid point “T” andthe grid point “T′” in the virtual CMY space according to the thirdvariation;

FIG. 16 shows a function block diagram of a profile producing device 20according to an embodiment of the present invention;

FIG. 17 shows a flowchart showing an operation of the profile producingdevice 20 when the color conversion LUT is produced;

FIG. 18 is a flowchart showing an operation of the profile producingdevice 20 when the ICC profile is produced; and

FIG. 19 shows a function block diagram of an image processing deviceaccording to an embodiment of the present invention.

BEST MODE FOR CARRYING OUT THE INVENTION

A description will now be given of embodiments of the present inventionwith reference to drawings. It should be noted that a “color conversiontable” implies a table (LUT) providing a function of converting inputvalues (such as RGB values) to other values (such as CcMmYK values whichare ink quantities) whether it carries out color correction or not inthe present specification, and includes an LUT without color correctionto which smoothing described below is applied. On the other hand, a“color correction table” is a table produced by a color managementprocessing based on the input RGB values which are assumed to complywith conversion equation defined by international standard (such as thesRGB standard), and is a table (LUT) having a function of carrying outcolor correction such that a color shown when the input RGB values arerepresented on a display and a color shown when the input RGB values arerepresented in a printer output match each other.

(A) First Embodiment (Production of Color Conversion Table Capable ofEnhancing Continuity of Color Conversion of Image Data)

(A-1) First Example

Case using an evaluation function based on twisted quantities in inkquantities

FIG. 1 is a function block diagram of a color conversion table producingdevice according to an embodiment of the present invention, and FIG. 3is a function block diagram of an image processing device according tothe embodiment of the present invention.

Hardware Constitution

FIG. 2 is a schematic block diagram showing an example of a concretehardware constitution of the color conversion table producing device andthe image processing apparatus according to the present invention.

The present embodiment employs a computer system as an example ofhardware for the color conversion table producing device and the imageprocessing apparatus. FIG. 2 shows the computer system as a blockdiagram. The computer system is provided with a scanner 11 a, a digitalstill camera 11 b, and a video camera 11 c as image input devices, andthey are connected with a computer main unit 12. The individual inputdevices generate an image data where an image is represented by pixelsarranged as dot matrix, and provide the computer main unit 12 with theimage data, where the image data represents about 16,7 million colors by256-gradation display in three primary colors including R, G, and B.

A floppy disk drive 13 a, a hard disk drive 13 b, and a CD-ROM drive 13c are connected with the computer main unit 12 as external auxiliarystorage apparatuses, the hard disk 13 b stores base programs relating tothe system, and necessary programs are read from a floppy disk and aCD-ROM as required. A modem 14 a is connected for connecting thecomputer main unit 12 with an external network or the like as acommunication device, and software and data are downloaded forintroduction by connecting to the external network through a publiccommunication line. In this example, though the modem 14 a is used forthe external access through the telephone line, a constitution foraccess to a network through a LAN adaptor is also possible. In addition,a keyboard 15 a and a mouse 15 b are connected for operating thecomputer main unit 12.

The computer main unit 12 is provided with a display 17 a, a colorprinter 17 b and a projector 17 c as image output devices. The display17 a is provides with a display area including 800 pixels in thehorizontal direction and 600 pixels in the vertical direction, and 16,7million colors are displayed on the individual pixels. This resolutionis an example, and the resolution may be changed to 640×480 or 1024×768as needed.

The color printer 17 b is an ink jet printer, and prints an image on aprint sheet as a medium with color ink of four colors including C, M, Y,and K. As image resolution, high density print such as 360×360 dpi or720×720 dpi is available, and as gradation representation, two-gradationrepresentation by selecting whether attaching the color ink or not isavailable. A predetermined program is running on the computer main unit12 to obtain an image through the image input devices, and to display orto provide on the image output device. An operating system (OS) 12 aoperates as a base program, and a display driver (DSP DRV) 12 b formaking the display 17 a the displaying process, a printer driver (PRTDRV) 12 c for making the color printer 17 b the printing process and aprojector driver 12 d (not shown) for making the projector 17 c thedisplaying process are integrated into the operating system 12 a. Thedrivers 12 b, 12 c and 12 d depend on the models of the display 17 a,the color printer 17 b and the projector 17 c and are added to orchanged in the operating system 12 a according to the models. It is alsopossible to realize a feature in addition to a standard processingdepending on the models. In other words, different additional processesare realized in a permissible range while a common processing system ismaintained on a standard system as the operating system 12 a.

As a prerequisite for running the program, the computer main unit 12 isprovided with a CPU 12 e, a RAM 12 f, a ROM 12 g, an I/O 12 h and thelike, and the CPU 12 e executes the base program written in the ROM 12 gas needed while using the RAM 12 f as a temporary work area or specifiedmemory area, or a program area, and controls the external apparatusesconnected through the I/O 12 h and internal apparatuses.

The application 12 d is executed on the operating system 12 a, whichserves as the base program. Contents of the processing in application 12d vary, and include monitoring the operation of keyboard 15 a and themouse 15 b as operating devices, properly controlling the differentexternal apparatuses, executing corresponding calculation and the likewhen they are operated, and displaying or providing a processed resulton the display 17 a or the color printer 17 b.

The computer system obtains image data through the scanner 11 a as animage input device, performs a predetermined image processing with theapplication 12 d, and show the processed result as output on the display17 a, the color printer 17 b or the projector 17 c, which serve as imageoutput devices.

In the present invention, though the image processing apparatus isrealized as a computer system, the computer system is not necessarilyrequired, and a system that applies the process required in the presentinvention to similar image data is possible. A system where an imageprocessing system for performing the image processing of presentinvention is integrated in a digital still camera, and image data afterthe image processing are used for printing through a color printer ispossible. For a color printer, which obtains image data and printswithout a computer system, it is possible to constitute such that theimage processing of present invention is automatically applied on imagedata obtained through a scanner, a digital still camera, modem or thelike and printing is processed.

The present invention is naturally applicable to different apparatusesfor handling image data such as a color facsimile apparatus, a colorcopy apparatus or a projector as well.

Image-processing Control Program

An image-processing control program according to the present inventionis usually recorded in a form readable by the computer 12 on a recordingmedium such as a floppy disk and a CD-ROM for circulation. The programis read by a medium reading device (such as the CD-ROM drive 13 c andthe floppy disk drive 13 a), and is installed on the hard disk 13 b. Theprogram is constituted such that the CPU then properly reads a desiredprogram from the hard disk 13 b so as to carry out desired processing.Note that the image-processing control program itself according to thepresent invention constitutes a part of the present applied invention.

Color Conversion Table Producing Device

The color conversion table producing device 20A shown in FIG. 1 producesa color conversion table capable of enhancing continuity of colorconversion of image data when CMY image data are converted to CMYKcmimage data. It should be noted that C denotes cyan; M, magenta; Y,yellow; K, black; c, light cyan; and m, light magenta.

In FIG. 1, the color conversion table producing device 20A is comprisedof a cost calculating unit 20 d, a color conversion table (LUT)smoothing unit 20 e, a color conversion table (LUT) producing unit 20 f,and a color conversion table (LUT) storing unit 20 b. A detaileddescription will be given of processing in these respective componentslater.

A description will now be given of a color conversion table producingprogram executed by the color conversion table producing device 20Ashown in FIG. 1 with reference to FIGS. 5 through 7.

FIG. 5 shows a flowchart describing the processing by the colorconversion table producing device which converts CMY image data toCMYKcm image data.

Calculation of Respective Costs (Step S22)

As FIG. 5 shows, first, the cost calculating unit 20 d of the colorconversion table producing device 20A calculates respective costs in afunction (referred to as “evaluation function” hereinafter) E forevaluating a level of smoothing of data at respective lattice points(grid points) after the color conversion using the color conversiontable (step S22). A detailed description will now be given of theevaluation function E.

(A-1-1) The evaluation function E is designed so as to have a smallervalue if respective conditions are satisfied for a certain grid point onthe LUT. For example, smoothing is applied to the ink quantities, theevaluation function is represented as a sum of cost terms designed basedon the respective conditions:E=Eit+Evt+Es+Ev+Ed+En+Eob+  (A-1-1)where:

-   E_(it) is a cost due to a twisted quantity of an ink-quantity    vector,-   E_(vt) is a cost due to a twisted quantity in a virtual CMY space,-   E_(s) is a cost due to a deviation from target ink quantities,-   E_(v) is a cost due to a deviation from target virtual CMY,-   E_(d) is a cost due to violation of an ink quantity limitation,-   E_(n) is a cost due to an ink quantity reduced to minus, and-   E_(ob) is a cost relating to ink generation.

E_(it) and E_(vt) are costs relating to a twist between grid pointsneighboring each other, and it is possible to enhance continuity ofimage data after the color conversion by reducing these costs, therebyreducing the twist between the neighboring grid points caused by theconversion from CMY to CMYKcm. E_(s) and E_(v) are costs produced bydifferences between the ink-quantity vector before and after thesmoothing, and related to a vector difference of the ink quantitiescaused by a chronological change at the same grid points. E_(d), E_(n),and E_(ob) are costs of restraining excesses from the predeterminedlimitations.

A detailed description will now be given of the respective terms. Itshould be noted that it is not necessary to use all of the terms, and itis possible to select terms to be used if necessary. The equation(A-1-1) shows an example of smoothing the ink-quantity vector, andapplication to other vectors (vectors in Lab, XYZ, CMY, and otherspaces) may be carried out in the same manner.

(A-1-2) General Forms of Respective Terms of Evaluation Function E

A cost term E_(c) of the evaluation function relating to a certainvector X is represented by the following equation:

$\begin{matrix}{E_{c} = \{ \begin{matrix}{W_{1}^{t} \cdot ( {{M \cdot X} - Y_{T}} )} \\{{{W_{2} \cdot ( {{M \cdot X} - Y_{T}} )}}^{2}}\end{matrix} } & ( {A\text{-}1\text{-}2} )\end{matrix}$where:

-   E_(c) is a cost (scalar),-   X is a column vector having X of elements,-   M is a Y×X matrix used for converting the vector X to a vector    Y=M·X, which is a vector having Y of elements subject to the cost,-   Y_(T) is a column vector having Y of elements,-   W₁ is a column vector having Y of elements, and represents weights    for the cost assigned to the respective elements of a vector    Y−Y_(T),-   W₂ is a Y×Y diagonal matrix, and represents weights for the cost    assigned to the respective elements of the vector Y−Y_(T), and-   “t” denotes transposition.

In the following description, a first equation and a second equation ofthe equation (A-1-2) are respectively referred to as a linear equationform and a quadratic equation form.

(A-1-3) Cost E_(it) Due to Twisted Quantity of Ink-quantity Vector(Ink-quantity Vector Space)

A grid point neighboring a certain grid point “p” is denoted as p_(r)(referred to as “reference grid point” hereinafter). A grid point otherthan the grid point p_(r) neighboring the grid point “p” is denoted asp_(t) (referred to as “transition grid point” hereinafter), and a gridpoint which has the same positional relationship with the grid pointp_(t) as that the grid point “p” has with the grid point p_(r) isdenoted as p_(tr). It is assumed that the respective grid points “p”,p_(r), p_(t), and p_(tr) retain ink-quantity vectors I_(p), I_(pr),I_(pt), and I_(ptr).

FIG. 7 shows a positional relationship of these grid points and theink-quantity vectors retained by these grid points. In FIG. 7, if it isconsidered that a difference vector between I_(pr) and I_(p) istransitioned to a difference vector between I_(ptr) and I_(pt), a“displacement of the difference vector before and after the transition”is represented as a difference vector between these difference vectors.In addition, if a transition distance is considered as the magnitude ofthe difference vector between I_(pt) and I_(p), a “displacement of thedifference vector before and after the transition per unit transitiondistance” is obtained by dividing the “displacement of the differencevector before and after the transition” by the transition distance. Thetwisted quantity of the ink-quantity vector at the grid point “p” isdefined by adding the square of the magnitude of the “displacement ofthe difference vector before and after the transition per unittransition distance” for all of the grid points p_(r) and p_(t)neighboring the grid point “p”. It should be noted that p_(r) and p_(t)may be the same grid point as long as they are neighboring “p”.

This twisted quantity of the ink-quantity vector is represented as acost in an equation (A-1-3):

$\begin{matrix}{E_{it} = {\sum\limits_{t = 1}^{T}{\sum\limits_{r = 1}^{R}{\frac{I_{p} + I_{p_{tr}} - I_{p_{r}} - I_{p_{t}}}{D_{t}}}^{2}}}} & ( {A\text{-}1\text{-}3} )\end{matrix}$In the equation (A-1-3),

-   “t” denotes a certain p_(t),-   T denotes the number of p_(t),-   “r” denotes a certain p_(r),-   R denotes the number of p_(r), and-   D_(t) denotes a transition distance at “t”.

The smaller the cost E_(it) becomes, the more the twisted quantity ofthe ink quantities can be reduced.

Comparison of the equation (A-1-3) to the second equation of theequation (A-1-2) reveals that it is not necessary to convert theink-quantity vector to a vector in other space, and thus, M isrepresented as a unit vector, and can be omitted. The respectiveelements are not multiplied by the weights, and thus, the W₂ is also aunit vector, and can be omitted. X corresponds to I_(p), and Y_(T)corresponds to I_(ptr)-I_(pr)-I_(pt). 1/D_(t) ² is a constant for acertain “t”, and thus, the equation (A-1-3) have the same form as thesecond equation of the equation (A-1-2).

(A-1-4) Cost E_(vt) Due to Twisted Quantity in Virtual CMY Space

The conversion to the ink quantities are generally carried out from athree dimensional space such as the RGB or CMY space, and thus, if thetwists are corrected only in the ink-quantity space, the conversionrelationship between the original three-dimensional space such as theRGB or CMY space and the ink-quantity space having I dimensions maybecome non-linear. To minimize this collapse, it is considered that apreferable result is attained by simultaneously carrying outtwisted-quantity correction in a three-dimensional space defined by alinear combination of the ink quantities with the correction in theink-quantity space. In the following section is defined the cost E_(vt)based on the twisted quantity in the tree-dimensional space defined bythe linear combination of the ink quantities (referred to as virtual CMYhereinafter).

In exactly the same manner as the case of E_(it), it is assumed that therespective grid points retain a virtual CMY vector. Based on thisassumption, the virtual CMY vectors retained respectively at the gridpoints “p”, p_(r), p_(t), and p_(tr) are denoted as V_(p), V_(pr),V_(pt), and V_(ptr). The virtual CMY vector includes linearly combinedelements of the ink-quantity vector using proper combinationcoefficients, and, by replacing I with V in the equation (A-1-3), andusing a 3×I conversion matrix K (V_(p)=K·I_(p)) from the ink-quantityvector to the virtual CMY vector, the cost E_(vt) of the twistedquantity in the virtual CMY space is represented as an equation (A-1-4).It should be noted that I is the number of elements of the ink-quantityvector.

$\begin{matrix}{E_{vt} = {\sum\limits_{t = 1}^{T}{\sum\limits_{r = 1}^{R}{\frac{{K \cdot I_{p}} + V_{p_{tr}} - V_{p_{r}} - V_{p_{t}}}{D_{vt}}}^{2}}}} & ( {A\text{-}1\text{-}4} )\end{matrix}$where D_(vt) denotes a transition distance at “t”, and is the magnitudeof a difference vector between virtual CMY vectors respectively at thegrid points “p” and p_(t).

Comparison of the equation (A-1-4) to the second equation of theequation (A-1-2) revels that both of them have the same form as in thecase of the equation (A-1-3).

(A-1-5) Cost E_(s) Due to Deviation from Target Ink Quantities

If it is assumed that an ink quantity vector I_(T) is an ideal (target)vector, it can be considered that the larger a difference vector betweenthe ink-quantity vector I_(p) at the grid point “p” and the vector I_(T)becomes, the more the cost increases. This cost is denoted as E_(s), andis represented by an equation (A-1-5). It should be noted that W_(s) isan I×I diagonal matrix, and is a weight matrix for the respectiveelements of the ink-quantity vector.

$\begin{matrix}{E_{s} = {{W_{s} \cdot ( {I_{p} - I_{T}} )}}^{2}} & ( {A\text{-}1\text{-}5} )\end{matrix}$

It can be confirmed that the equation (A-1-5) also has the same form asthe second equation of the equation (A-1-2).

It is not realistic that the ideal ink-quantity vector I_(T) is known inadvance, and thus, an ink-quantity vector closer to the ideal state oran ink-quantity vector as another target may be employed.

(A-1-6) Cost E_(v) Due to Deviation from Target Virtual CMY

On the assumption that a virtual CMY vector V_(T) is ideal for thevirtual CMY vector V_(p) at the grid point “p”, this cost E_(v) isdenoted as an equation (A-1-6) using the conversion matrix K in the samemanner as the equation (A-1-5).

$\begin{matrix}{E_{v} = {{W_{v} \cdot ( {{K \cdot I_{p}} - V_{T}} )}}^{2}} & ( {A\text{-}1\text{-}6} )\end{matrix}$where W_(v) is a 3×3 diagonal matrix, and is a weight matrix for therespective elements of the virtual CMY vector. It can be confirmed thatthe equation (A-1-6) also has the same form as the second equation ofthe equation (A-1-2).

It is not realistic that an ideal virtual CMY vector V_(T) is known inadvance as in the case of I_(T), and thus, a virtual CMY vector closerto the ideal state or a virtual CMY vector as another target may beemployed.

(A-1-7) Cost E_(d) Due to Violation of Ink Quantity Limitation

In terms of various combinations of the elements of the ink-quantityvector, there is such a cost relating to excesses of sums of these inkquantities from certain limits. If the ink quantities are excessive,inks spread, and cause an unfavorable result, and thus, this cost isevaluated.

On this occasion, it is assumed that a conversion matrix N from theink-quantity vector I_(p) to a vector representing the sums of thecombinations of the ink quantities (referred to as combination vectorhereinafter) D_(p) (D_(p)=N·I_(p)), and a vector D_(L) contains theselimits, and if respective elements of a difference vector between D_(p)and D_(L) are positive, it is assumed that costs are present. Thissituation is represented by an equation (A-1-7).

$\begin{matrix}{E_{d} = \{ \begin{matrix}{W_{d\; 1}^{t} \cdot ( {{N \cdot I_{p}} - D_{L}} )} \\{{{W_{d\; 2} \cdot ( {{N \cdot I_{p}} - D_{L}} )}}^{2}}\end{matrix} } & ( {A\text{-}1\text{-}7} )\end{matrix}$where W_(d1) is a column vector having D of elements, W_(d2) is adiagonal matrix having D×D of elements, and both are a weight vector anda weight matrix representing weights. The respective weight elements ofW_(d1) and W_(d2) may be 0 according to negative/positive of theelements of the difference vector between D_(p) and D_(L). It should benoted that D is the number of the elements of the combination vector.

The equation (A-1-7) has a linear equation form and a quadratic equationform, and either of them is selected when used. The comparison of theequation (A-1-7) to the equation (A-1-2) reveals that both the linearequation form and the quadratic equation form are the same as those ofthe equation (A-1-2).

(A-1-8) Cost E_(n) Due to Ink Quantity Reduced to Minus

It is assumed that if the respective elements of the ink-quantity vectorI_(p) are negative, the cost increases. This is represented by anequation (A-1-8).

$\begin{matrix}{E_{n} = \{ \begin{matrix}{W_{n\; 1}^{t} \cdot I_{p}} \\{{{W_{n\; 2} \cdot I_{p}}}^{2}}\end{matrix} } & ( {A\text{-}1\text{-}8} )\end{matrix}$where W_(n1) denotes a weight vector having I of elements, and W_(n2) isan I×I diagonal matrix, and is a weight matrix. The respective weightelements of W_(n1) and W_(n2) have a negative magnitude if therespective elements of the ink-quantity vector I_(p) have a negativevalue.

The equation (A-1-8) also has a linear equation form and a quadraticequation form, and either of them is selected. The comparison of theequation (A-1-8) to the equation (A-1-2) reveals that both the linearequation form and the quadratic equation form are the same as those ofthe equation (A-1-2), though parts of both the forms can be omitted.

(A-1-9) Cost E_(ob) Relating to Ink Generation

If certain elements of the ink-quantity vector I_(p) should not retainpositive values, this cost is produced if they do. If the generation ofthe inks is carried out earlier, visibility of dots increases, and thus,the graininess degrades, and therefore this cost is evaluated. This isrepresented by an equation (A-1-9):

$\begin{matrix}{E_{ob} = \{ \begin{matrix}{W_{{ob}\; 1}^{t} \cdot I_{p}} \\{{{W_{{ob}\; 2} \cdot I_{p}}}^{2}}\end{matrix} } & ( {A\text{-}1\text{-}9} )\end{matrix}$where W_(ob1) denotes a weight vector having I of elements, and W_(ob2)is an I×I diagonal matrix, and is a weight matrix. The respective weightelements of the W_(ob1) and W_(ob2) are positive if certain elements ofthe ink-quantity vector I_(p) are positive, and simultaneously shouldnot take a positive value.

The equation (A-1-9) also has a linear equation form and a quadraticequation form, and either of them is selected. It can also be confirmedthat though both the linear equation form and the quadratic equationform include omitted parts, they are the same as those in the equation(A-1-2) based on the comparison of the equation (A-1-9) to the equation(A-1-2).

After the respective costs are calculated using the above (A-1-1)through (A-1-9), the following smoothing processing is carried out.

Smoothing Processing (Step S24)

As FIG. 5 shows, then, the color conversion LUT smoothing unit 20 e ofthe color conversion table producing device 20A carries out thesmoothing processing (calculation of I_(p) which minimizes theevaluation function E) (step S24) detailed below.

(A-1-1) Outline of LUT Smoothing at Grid Point “p”

Smoothing of the LUT at the grid point “p” is carried out by minimizingthe evaluation function E represented by the equation (A-1-1). Though anarbitrary method for minimizing the evaluation function E represented bythe equation (A-1-1) may be used, the present embodiment employs thefollowing method.

The respective terms in the equation (A-1-1) are represented as a sum ofthe equations (A-1-3) through (A-1-9). Namely, all of the terms of theevaluation function E include the respective elements of I_(p), and arerepresented as high as the quadratic form in terms of these elements.Further, the quadratic form is the square of the linear form, and isalways a downwardly convex function. Namely, the evaluation function Etakes the minimum value for I_(p) which equates function obtained bypartially differentiating E by the respective elements of I_(p) to azero vector.

As described above, all of the equations (A-1-3) through (A-1-9) takethe same form as the equation (A-1-2). Hereinafter, the equation (A-1-2)is used to show a general form of a case where the respective terms ofthe evaluation function E are partially differentiated by the respectiveelements of I_(p) (X in the case of the equation (A-1-2)). An equation(A-1-10) shows a case where the equation (A-1-2) is partiallydifferentiated by the respective elements of X.

$\begin{matrix}\begin{matrix}{A = ( {\frac{\partial E_{c}}{\partial X_{1}}\mspace{14mu}\cdots\mspace{14mu}\frac{\partial E_{c}}{\partial X_{x}}\mspace{14mu}\cdots\mspace{14mu}\frac{\partial E_{c}}{\partial X_{X}}} )^{t}} \\{= \{ \begin{matrix}{( {W_{1}^{t} \cdot M} )^{t}} \\{2{( {W_{2} \cdot M} )^{t} \cdot W_{2} \cdot ( {{M \cdot X} - Y_{T}} )}}\end{matrix} }\end{matrix} & ( {A\text{-}1\text{-}10} )\end{matrix}$where A denotes a column vector having X of elements, and the respectiveelements are obtained by partially differentiating E_(c) by therespective elements X_(x) of X. It should be noted that “x” is theelement number of the vector X, and x=1, 2, . . . , X.(A-1-2) Partial Differentiation of Evaluation Function E by Elements ofI_(p)

The following section shows partially differentiated equations (A-1-3)through (A-1-9) by the respective elements of I_(p) as in the case ofthe equation (A-1-10). In the following equations, A_(it), A_(vt),A_(s), A_(v), A_(d), A_(n), and A_(ob) denote column vectors of theelement number of I respectively obtained by partially differentiatingE_(it), E_(vt), E_(s), E_(v), E_(d), E_(n), and E_(ob) by the respectiveelements I_(pi) of I_(p). It should be noted that “i” is the elementnumber of the vector I_(p), and i=1, 2, . . . , I.

$\begin{matrix}\begin{matrix}{A_{it} = ( {\frac{\partial E_{it}}{\partial I_{p\; 1}}\mspace{14mu}\cdots\mspace{14mu}\frac{\partial E_{it}}{\partial I_{pi}}\mspace{14mu}\cdots\mspace{14mu}\frac{\partial E_{it}}{\partial I_{pI}}} )^{t}} \\{= {\sum\limits_{t = 1}^{T}{\sum\limits_{r = 1}^{R}{\frac{2}{D_{t}^{2}}( {I_{p} + I_{p_{tr}} - I_{p_{r}} - I_{p_{t}}} )}}}}\end{matrix} & ( {A\text{-}1\text{-}12} ) \\\begin{matrix}{A_{vt} = ( {\frac{\partial E_{vt}}{\partial I_{p\; 1}}\mspace{14mu}\cdots\mspace{14mu}\frac{\partial E_{vt}}{\partial I_{pi}}\mspace{14mu}\cdots\mspace{14mu}\frac{\partial E_{vt}}{\partial I_{pI}}} )^{t}} \\{= {\sum\limits_{t = 1}^{T}{\sum\limits_{r = 1}^{R}{\frac{2}{D_{vt}^{2}}{K^{t} \cdot ( {{K \cdot I_{p}} + V_{p_{tr}} - V_{p_{r}} - V_{p_{t}}} )}}}}}\end{matrix} & ( {A\text{-}1\text{-}13} ) \\\begin{matrix}{A_{s} = ( {\frac{\partial E_{s}}{\partial I_{p\; 1}}\mspace{14mu}\cdots\mspace{14mu}\frac{\partial E_{s}}{\partial I_{pi}}\mspace{14mu}\cdots\mspace{14mu}\frac{\partial E_{s}}{\partial I_{pI}}} )^{t}} \\{= {2{W_{s}^{2} \cdot ( {I_{p} - I_{T}} )}}}\end{matrix} & ( {A\text{-}1\text{-}14} ) \\\begin{matrix}{A_{v} = ( {\frac{\partial E_{v}}{\partial I_{p\; 1}}\mspace{14mu}\cdots\mspace{14mu}\frac{\partial E_{v}}{\partial I_{pi}}\mspace{14mu}\cdots\mspace{14mu}\frac{\partial E_{v}}{\partial I_{pI}}} )^{t}} \\{= {2{( {W_{v} \cdot K} )^{t} \cdot W_{v} \cdot ( {{K \cdot I_{p}} - V_{T}} )}}}\end{matrix} & ( {A\text{-}1\text{-}15} ) \\\begin{matrix}{A_{d} = ( {\frac{\partial E_{d}}{\partial I_{p\; 1}}\mspace{14mu}\cdots\mspace{14mu}\frac{\partial E_{d}}{\partial I_{pi}}\mspace{14mu}\cdots\mspace{14mu}\frac{\partial E_{d}}{\partial I_{pI}}} )^{t}} \\{= \{ \begin{matrix}{( {W_{d\; 1}^{t} \cdot N} )^{t}} \\{2{( {W_{d\; 2} \cdot N} )^{t} \cdot W_{d\; 2} \cdot ( {{N \cdot I_{p}} - D_{L}} )}}\end{matrix} }\end{matrix} & ( {A\text{-}1\text{-}16} ) \\\begin{matrix}{A_{n} = ( {\frac{\partial E_{n}}{\partial I_{p\; 1}}\mspace{14mu}\cdots\mspace{14mu}\frac{\partial E_{n}}{\partial I_{pi}}\mspace{14mu}\cdots\mspace{14mu}\frac{\partial E_{n}}{\partial I_{pI}}} )^{t}} \\{= \{ \begin{matrix}{W_{n\; 1}} \\{2{W_{n\; 2}^{2} \cdot I_{p}}}\end{matrix} }\end{matrix} & ( {A\text{-}1\text{-}17} ) \\\begin{matrix}{A_{ob} = ( {\frac{\partial E_{ob}}{\partial I_{p\; 1}}\mspace{14mu}\cdots\mspace{14mu}\frac{\partial E_{ob}}{\partial I_{pi}}\mspace{14mu}\cdots\mspace{14mu}\frac{\partial E_{ob}}{\partial I_{pI}}} )^{t}} \\{= \{ \begin{matrix}{W_{{ob}\; 1}} \\{2{W_{{ob}\; 2}^{2} \cdot I_{p}}}\end{matrix} }\end{matrix} & ( {A\text{-}1\text{-}18} )\end{matrix}$

The sum of the equations (A-1-12) through (A-1-18) is a vector obtainedby partially differentiating the evaluation function E by the respectiveelements of I_(p). It is assumed that this vector is a zero vector, andthis equation is solved for I_(p), there can be obtained I_(p) whichminimizes E. Namely, it means to solve:

$\begin{matrix}\begin{matrix}{{f( I_{p} )} = {A_{it} + A_{vt} + A_{s} + A_{v} + A_{d} + A_{n} + A_{ob}}} \\{= 0}\end{matrix} & \text{(A-1-19)}\end{matrix}$for I_(p). It should be noted that “f” denotes a vector obtained bypartially differentiating E by the respective elements of I_(p)represented in a function form, and “0” denotes a zero vector. Ofrespective terms on the right side of a first equation of the equation(A-1-19), there are used only terms corresponding to the terms selectedin the evaluation function of the equation (A-1-1).

As described above, the color conversion LUT smoothing unit 20 e obtainsI_(p) which minimizes the evaluation function E, and then, terminatesthe smoothing processing.

Smoothing Processing Across Overall LUT (Step S25)

As FIG. 5 shows, then, the color conversion LUT smoothing unit 20 e ofthe color conversion table producing device 20A carries out smoothingprocessing across the entire LUT (step S25) detailed below.

For carrying out the smoothing processing across the entire LUT, if itis possible to correct only I_(p) without changing the ink-quantityvectors retained on the grid points other than the grid point “p”, it ispossible to obtain an optimal I_(p) in the method described above.However, in a more realistic case, it is actually necessary to correctthe ink-quantity vectors retained on the grid points other than the gridpoint “p” for smoothing across the entire LUT. Therefore, the smoothingacross the entire LUT is carried out by repeating sequential correctionof the ink-quantity vectors at the respective grid points.

If the correction of the ink-quantity vector at the grid point “p” in astate “n” to a next state (solving the equation (A-1-19) for I_(p)) isdenoted as “g”, this correction is generally represented as an equation(A-1-20):I _(p) ^(n+1) =g( . . . , I _(p−1) ^(n) , I _(p) ^(n) , I _(p+1) ^(n) .. . )  (A-1-20)If the correction from the state “n” to the state “n+1” is carried outat all the grid points, the costs E at the respective grid points arenot always reduced. As the equation (A-1-20) shows, the ink-quantityvectors in the state “n+1” are obtained for the respective grid pointsbased on the cost E in the state “n”, and thus, the cost E in the state“n+1” is not considered for obtaining the equation (A-1-20). Namely,though, due to the purpose of reducing the cost, it is expected that thecost in the state “n+1” is smaller than the cost in the state “n” atmost of the grid points, it does not always hold true.

Therefore, (1) the correction is carried out at the entire grid pointsusing the equation (A-1-20) (step S40), (2) the correction whichincreases the cost is not carried out (step S54), or (3) the correctionby annealing which increases the cost by a certain degree of a smallamount is permitted (step S56).

Then, with reference to a flowchart shown in FIG. 6, more detaileddescription will now be given of the smoothing processing across theentire LUT shown in the step S25 in FIG. 5.

As FIG. 6 shows, when the smoothing processing across the entire LUTstarts in the step S25, 0 (zero) is set to “n” in the equation (A-1-20)(step S30), and the ink-quantity vectors I:I_(p) ^(n)(p=0, 1, . . . , P−1) are input (step S32). Reference numeral P denotesthe number of the grid points.

Then, it is determined whether “n<N” or not (step S34), and if “n<N”holds (“Yes” in the step S34), the costs at the respective grid point“p” in the state “n”:E_(p) ^(n)(p=0, 1, . . . , P−1) are calculated (step S36), the ink-quantityvectors in the certain state “n” at the respective grid point “p” (p=0,1, . . . , P−1) are obtained using the equation (A-1-20), and a variable“Count” is set to P (step S38).

Reference numeral N denotes how many times the smoothing is carried out,and indicates that the maximum value of the state “n” is N−1.

If a condition “all of the grid points are not corrected” holds (“No” inthe step S40), “p” is set to 0 (zero) (step S42), and it is determinedwhether “p<P” or not (step S44).

Alternatively, if a condition “all of the grid points are corrected”holds (“Yes” in the step S40), or “p<P” does not hold (“No” in the stepS44), and “Count” is not 0 (zero) (“No” in a step S46), “n+1” is set to“n”, and probability variable parameters for the annealing are decreased(step S48), and the procedure returns to the step S34.

Alternatively, if “p<P” holds (“Yes” in the step S44), the cost for thegrid point “p” in the state “n+1”:E_(p) ^(n+1)is calculated (step S50), and it is determined whether:E _(p) ^(n+1) <E _(p) ^(n)or not (step S52). If the cost at the grid point “p” in the state “n+1”is equal to or more than the cost at the grid point “p” in the state “n”(“No” in a step S52), it is determined whether a condition “notcorrected unless cost decreases” holds (step S54), and if the condition“not corrected unless cost decreases” does not hold in the step S34(“No” in the step S54), it is determined whether a condition “correctionwith annealing is permitted” holds (step S56).

If the condition “not corrected unless cost decreases” holds (“Yes” inthe step S54), or the condition “correction with annealing is notpermitted” holds (“No” in the step S56), the ink-quantity vector at thegrid point “p” in the state “n”:I_(p) ^(n)is set to the ink-quantity vector at the grid point “p” in the state“n+1”:I_(p) ^(n+1)and, simultaneously, the variable (Count−1) is set to “Count” (stepS60).

Then, after the step S60, or if the cost at the grid point “p” in thestate “n+1” is less than the cost at the grid point “p” in the state “n”(“Yes” in the step S52), or if the condition “correction with annealingis permitted” holds (“Yes” in the step S56), “p+1” is set to “p” (stepS58), and the procedure returns to the step S44.

Alternatively, if “n<N” does not hold in the step S34 (“No” in the stepS34), or “Count” is 0 in the step S46 (“Yes” in the step S46), theink-quantity vectors:I_(p) ^(n+1)(p=0, 1, . . . , P−1) are output (step S62), and the procedureterminates.

Then, after the smoothing processing across the entire LUT (step S25),the procedure returns to the step S26 in FIG. 5, the color conversiontable is produced (step S26), and the produced color conversion table isstored in the color conversion LUT storing unit 20 b (step S28).

The procedure described above can produce the color conversion tablecapable of enhancing the continuity of the color conversion of the imagedata.

Image Processing Device

In FIG. 3, the image processing device 20B applies desired imageprocessing to RGB image input data, and outputs the processed image datato an image output device 30.

The image data are produced by separating a color image into respectivepredetermined element colors, and representing intensities in theserespective element colors, which are chromatic colors, and may be mixedinto achromatic colors typified by gray and black if they are mixed atpredetermined ratios.

In the present embodiment, a description will be given of a case wherethe image output device is a color printer using inks in six colors: C(cyan), M (magenta), Y (yellow), K (black), c (light cyan), and m (lightmagenta), and reproducing colors based on the RGB data.

The image processing device 20B is comprised of a first color convertingunit 20 d which converts the RGB image data to CMY image data, a colorconversion LUT storing unit 20 b which stores at least the colorconversion table produced by the color conversion table producing device20A, and a second color converting unit 20 a which reads a colorconversion table (LUT) selected by a color conversion LUT selecting unit20 c from the color conversion LUT storing unit 20 b, and refers to theread color conversion LUT thereby converting the CMY data to CMYKcmdata.

A description will now be given of an operation of the image processingdevice 20B with reference to FIG. 4.

As FIG. 4 shows, if the user instructs the image output start (step 70),and a predetermined color conversion LUT is selected (“Yes” in a step72), the predetermined color conversion LUT is read from the colorconversion LUT storing unit 20 b, and read into a RAM (step 74). Then,the color conversion LUT is built into the second color converting unit20 a (step 76), the three-dimensional color conversion LUT is referredto carry out image processing using interpolation, and image outputprocessing is carried out (step 78).

According to the image processing device of the present embodiment, ifin the step 72 is selected a color conversion table which is produced bythe color conversion table producing device 20A, and can enhance thecontinuity of the color conversion of the image data, the colorconversion is carried out using the color conversion table, and thus,the tone jump after the color conversion can be prevented.

(A-2) Second Example

Using a smoothing level evaluation function used for evaluating asmoothing level at respective lattice point data after color conversionby a color conversion table in a perceptually uniform color space suchas the Lab space.

A function block diagram of a color conversion table producing deviceaccording to a second example is the same as the block diagram of thefirst example shown in FIG. 1. FIG. 8 shows a function block diagram ofan image processing device according to the second example.

Hardware Constitution

Specific hardware constitution examples of a color conversion tableproducing device and the image processing device according to the secondexample are the same as those shown in the schematic block diagramaccording to the first example in FIG. 2, and thus, a description willbe omitted.

Image Processing Control Program

An image processing control program according to the present inventionis usually recorded on a recording medium such as a floppy disk or aCD-ROM in a form readable by a computer 12, and circulated. The programis read by a media reader (such as a CD-ROM drive 13 c and a floppy diskdrive 13 a), and then, installed on a hard disk 13 b. There is such aconstitution that a CPU then properly reads a desired program from thehard disk 13 b, and carries out desired processing. It should be notedthat the image processing control program according to the presentinvention itself constitutes a part of the invention of the presentapplication.

In the second example, the color conversion table producing device 20Ashown in FIG. 1 produces the color conversion table which converts theLab image data converted from the RGB (sRGB) image data to L′a′b′ imagedata adapted to a color space of an image output device. This colorconversion table produce a color conversion table capable of enhancingcontinuity of the color conversion of the image data when the Lab imagedata is converted to the L′a′b′ image data. In the present embodiment asan example of the color conversion in the perceptually uniform colorspace, a description will be given of color conversion in the Lab space.

As in the first example, the color conversion table producing device 20Aaccording to the second example shown in FIG. 1 is comprised of a costcalculating unit 20 d, a color conversion table (LUT) smoothing unit 20e, a color conversion table (LUT) producing unit 20 f, and a colorconversion table (LUT) storing unit 20 b. A detailed description will begiven of processing in these respective components later.

A description will now be given of a color conversion table producingprogram executed by the color conversion table producing device 20Ashown in FIG. 1 with reference to FIGS. 5, 9, and 10.

Color conversion table producing processing carried out by the colorconversion table producing device 20A according to the second example isthe same as that presented in the flowchart describing the colorconversion table producing processing by the color conversion tableproducing device 20A according to the first example shown in FIG. 5.

Calculation of Respective Costs (Step S22)

As FIG. 5 shows, first, the cost calculating unit 20 d of the colorconversion table producing device 20A calculates respective costs in afunction (referred to as “evaluation function” hereinafter) E forevaluating a level of smoothing of data at respective lattice points(grid points) after the color conversion using the color conversiontable (step S22). A detailed description will now be given of theevaluation function E.

(A-2-1) The evaluation function E is designed so as to have a smallervalue if respective conditions are satisfied for a certain grid point inthe LUT. If smoothing processing is applied to an Lab vector, theevaluation function E is represented as a sum of cost terms designedbased on the respective conditions:E=E _(lt) +E _(l)  (A-2-1)where:

-   E_(lt) is a cost due to a twisted quantity of an Lab vector, and-   E_(l) is a cost due to a deviation from target Lab.

The E_(lt) is a cost relating to a twist between grid points neighboringeach other, and it is possible to enhance the continuity of the imagedata after the color conversion by reducing E_(lt), thereby reducing thetwist between the neighboring grid points caused by the conversion fromLab to L′a′b′. E_(l) is a cost produced by a difference between the Labvectors before and after the smoothing, and relates to a difference ofthe Lab vectors caused by a chronological change of the same gridpoints.

A detailed description will now be given of the respective terms. Theequation (A-2-1) shows an example of smoothing the Lab vector, andapplication to other vectors (for example, vectors in XYZ, CMY, andother spaces) may be carried out in the same manner.

(A-2-2) General Forms of Respective Terms of Evaluation Function E

A cost term E_(c) of the evaluation function relating to a certainvector X is generally represented by the following equation:

$\begin{matrix}{E_{c} = \{ \begin{matrix}{W_{1}^{t} \cdot ( {{M \cdot X} - Y_{T}} )} \\{{W_{2} \cdot ( {{M \cdot X} - Y_{T}} )}}^{2}\end{matrix} } & \text{(A-2-2)}\end{matrix}$where:

-   E_(c) is a cost (scalar),-   X is a column vector having X of elements,-   M is a Y×X matrix used for converting the vector X to a vector    Y=M·X, which is a vector having Y of elements subject to the cost,-   Y_(T) is a column vector having Y of elements,-   W₁ is a column vector having Y of elements, and represents weights    for the cost assigned to the respective elements of a vector    Y−Y_(T),-   W₂ is a Y×Y diagonal matrix, and represents weights for the cost    assigned to the respective elements of the vector Y−Y_(T), and-   “t” denotes transposition.

In the following description, a first equation and a second equation ofthe equation (A-2-2) are respectively referred to as a linear equationform and a quadratic equation form.

(A-2-3) Cost E_(lt) Due to Twisted Quantity of Lab Vector (Lab VectorSpace)

A grid point neighboring a certain grid point “p” is denoted as p_(r)(referred to as “reference grid point” hereinafter). A grid point otherthan the grid point p_(r) neighboring the certain grid point “p” isdenoted as p_(t) (referred to as “transition grid point” hereinafter),and a grid point which has the same positional relationship with thegrid point p_(t) as that the grid point “p” has with the grid pointp_(r) is denoted as p_(tr). It is assumed that the respective gridpoints “p”, p_(r), p_(t), and p_(tr) retain Lab vectors L_(p), L_(pr),L_(pt), and L_(ptr).

FIG. 10 shows positional relationship of these grid points and the Labvectors retained by these grid points. In FIG. 10, if it is consideredthat a difference vector between L_(pr) and L_(p) is transitioned to adifference vector between L_(ptr) and L_(pt), “a displacement of thedifference vector before and after the transition” is represented as adifference vector between these difference vectors. In addition, if atransition distance is considered as the magnitude of the differencevector between L_(pt) and L_(p), a “displacement of the differencevector before and after the transition per unit transition distance” isobtained by dividing “displacement of the difference vector before andafter the transition” by the transition distance. The twisted quantityof the Lab vector at the grid point “p” is defined by adding the squareof the magnitude of the “displacement of the difference vector beforeand after the transition per unit transition distance” for all of thegrid points p_(r) and p_(t) neighboring the grid point “p”. It should benoted that p_(r) and p_(t) may be the same grid point as long as theyare neighboring “p”.

This twisted quantity of the Lab vector is represented as a cost in anequation (A-2-3):

$\begin{matrix}{E_{lt} = {\sum\limits_{t = 1}^{T}{\sum\limits_{r = 1}^{R}{\frac{L_{p} + L_{p_{tr}} - L_{p_{r}} - L_{p_{t}}}{D_{lt}}}^{2}}}} & \text{(A-2-3)}\end{matrix}$In the equation (A-2-3),

-   “t” denotes a certain p_(t),-   T denotes the number of p_(t),-   “r” denotes a certain p_(r),-   R denotes the number of p_(r), and-   D_(lt) denotes a transition distance at “t”.

The smaller the cost E_(lt) becomes, the more the twisted quantity inthe Lab space can be reduced.

Comparison of the equation (A-2-3) to the second equation of theequation (A-2-2) reveals that it is not necessary to convert the Labvector to a vector in other space, and thus, M is represented as a unitvector, and can be omitted. The respective elements are not multipliedby the weights, and thus, the W₂ is also a unit vector, and can beomitted. X corresponds to L_(p), and Y_(T) corresponds toL_(ptr)-L_(pr)-L_(pt). 1/D_(lt) ² is a constant for a certain “t”, andthus, the equation (A-2-2) has the same form as the second equation ofthe equation (A-2-3).

(A-2-4) Cost E_(l) Due to Deviation from Target Lab

If an Lab vector L_(T) is an ideal (target) vector, it can be consideredthat the larger a difference between the Lab vector L_(p) at the gridpoint “p” and the vector L_(T) becomes, the more the cost increases.This cost is denoted as E_(l), and is represented by an equation(A-2-4). It should be noted that W₁ is a 3×3 diagonal matrix, and is aweight matrix for the respective elements of the Lab vector.E _(l) =|W ₁·(L _(p) −L _(T))|²  (A-2-4)It can be confirmed that the equation (A-2-4) also has the same form asthe second equation of the equation (A-2-2).

It is not realistic that the ideal Lab vector L_(T) is known in advance,and thus, an Lab vector closer to the ideal state or an Lab vector asanother target may be employed. On this occasion, as the Lab vectorcloser to the ideal state, the Lab vector before the smoothing is used.This is because it is expected that as the smoothing progresses, the Labvector at the grid point comes closer to the ideal value, and therestriction on time of the smoothing is also considered.

After the respective costs are calculated using the above (A-2-1),(A-2-3), and (A-2-4), the following smoothing processing is carried out.

Smoothing Processing (Step S24)

As FIG. 9 shows, then, the color conversion LUT smoothing unit 20 e ofthe color conversion table producing device 20A carries out smoothingprocessing (calculation of L_(p) which minimizes the evaluation functionE) (step S24) detailed below.

(A-2-1) Outline of LUT Smoothing Processing at Grid Point “p”

Smoothing of the LUT at the grid point “p” is carried out by minimizingthe evaluation function E represented by the equation (A-2-1). Though anarbitrary method for minimizing the evaluation function E represented bythe equation (A-2-1) may be used, the present embodiment employs thefollowing method.

The respective terms in the equation (A-2-1) are represented as a sum ofthe equations (A-2-3) and (A-2-4). Namely, all of the terms of theevaluation function E include the respective elements of the L_(p), andare represented as high as the quadratic form in terms of theseelements. Further, the quadratic form is the square of the linear form,and is always a downwardly convex function. Namely, the evaluationfunction E takes the minimum value for the L_(p) which equates functionobtained by partially differentiating E by the respective elements ofL_(p) to a zero vector.

As described above, both of the equations (A-2-3) and (A-2-4) take thesame form as the equation (A-2-2). Hereinafter, the equation (A-2-2) isused to show a general form of partial differentiation of the respectiveterms of the evaluation function E by the respective elements of L_(p)(X in the case of the equation (A-2-2)). An equation (A-2-5) shows acase where the equation (A-2-2) is partially differentiated by therespective elements of X.

$\begin{matrix}\begin{matrix}{A = ( {\frac{\partial E_{c}}{\partial X_{1}}\mspace{14mu}\ldots\mspace{14mu}\frac{\partial E_{c}}{\partial X_{x}}\mspace{14mu}\ldots\mspace{14mu}\frac{\partial E_{c}}{\partial X_{X}}} )^{t}} \\{= \{ \begin{matrix}{( {W_{1}^{t} \cdot M} )^{t\mspace{14mu}}\mspace{200mu}} \\{2{( {W_{2} \cdot M} )^{t} \cdot W_{2} \cdot ( {{M \cdot X} - Y_{T}} )}}\end{matrix} }\end{matrix} & \text{(A-2-5)}\end{matrix}$where A denotes a column vector having X of elements, and the respectiveelements are obtained by partially differentiating E_(c) by therespective elements X_(x) of X. It should be noted that “x” is theelement number of the vector X, and x=1, 2, . . . , X.(A-2-2) Partial Differentiation of Evaluation Function E by Elements ofL_(p)

The following section shows partially differentiated equations (A-2-3)and (A-2-4) by the respective elements of L_(p) as in the case of theequation (A-2-5). In the following equations, A_(lt) and A_(l) denotecolumn vectors having three elements respectively obtained by partiallydifferentiating E_(lt) and E_(l) by the respective elements of L_(pL),L_(pa), and L_(pb) of L_(p).

$\begin{matrix}\begin{matrix}{A_{lt} = ( {\frac{\partial E_{lt}}{\partial L_{pL}}\;\frac{\partial E_{lt}}{\partial L_{pa}}\frac{\partial E_{lt}}{\partial L_{pb}}} )^{t}} \\{= {\sum\limits_{t = 1}^{T}{\sum\limits_{r = 1}^{R}{\frac{2}{D_{lt}^{2}}( {L_{p} + L_{p_{tr}} - L_{p_{r}} - L_{p_{t}}} )}}}}\end{matrix} & \text{(A-2-6)} \\\begin{matrix}{A_{l} = ( {\frac{\partial E_{l}}{\partial L_{pL}}\;\frac{\partial E_{l}}{\partial L_{p_{a}}}\frac{\partial E_{l}}{\partial L_{p_{b}}}} )^{t}} \\{= {2{W_{1}^{2} \cdot ( {L_{p} - L_{T}} )}}}\end{matrix} & \text{(A-2-7)}\end{matrix}$

The sum of the equations (A-2-6) and (A-2-7) is a vector obtained bypartially differentiating the evaluation function E by the respectiveelements of L_(p). If it is assumed that this vector is a zero vector,and this equation is solved for L_(p), there can be obtained L_(p) whichminimizes E. Namely, it means to solve:

$\begin{matrix}\begin{matrix}{{f( L_{p} )} = {A_{lt} + A_{l}}} \\{= 0}\end{matrix} & \text{(A-2-8)}\end{matrix}$for L_(p). It should be noted that “f” is a vector obtained by partiallydifferentiating E by the respective elements of L_(p), and isrepresented in a function form, and “0” denotes a zero vector.

As described above, the color conversion LUT smoothing unit 20 f obtainsL_(p) which minimizes the evaluation function E, and then, terminatesthe smoothing processing.

Smoothing Processing Across Overall LUT (Step S25)

As FIG. 5 shows, then, the color conversion LUT smoothing unit 20 e ofthe color conversion table producing device 20A carries out smoothingprocessing across the entire color conversion LUT (step S25) detailedbelow.

For carrying out the smoothing processing across the entire LUT, if itis possible to correct only L_(p) without changing the Lab vectorsretained on the grid points other than the grid point “p”, it ispossible to obtain an optimal L_(p) in the method described above.However, in a more realistic case, it is actually necessary to correctthe Lab vectors retained on the grid points other than the grid point“p” for smoothing processing across the entire color conversion LUT.Therefore, the smoothing across the entire color conversion LUT iscarried out by repeating sequential correction of the Lab vectors at therespective grid points.

If the correction of the Lab vector at the grid point “p” in a state “n”to a next state (solving the equation (A-2-8) for L_(p)) is denoted as“g”, this correction is generally represented as an equation (A-2-9):L _(p) ^(n+1) =g( . . . , L _(p−1) ^(n) , L _(p) ^(n) , L _(p+1) ^(n). .. )  (A-2-9)If the correction from the state “n” to the state “n+1” is carried outat all the grid points, the costs E at the respective grid points arenot always reduced. As the equation (A-2-9) shows, the Lab vectors inthe state “n+1” are obtained for the respective grid points based on thecost E in the state “n”, and thus, the cost E in the state “n+1” is notconsidered for obtaining the equation (A-2-9). Namely, though, due tothe purpose of reducing the cost, it is expected that the cost in thestate “n+1” is smaller than the cost in the state “n” at most of thegrid points, it does not always hold true.

Therefore, (1) the correction is carried out at the entire grid pointsusing the equation (A-2-9) (step S40), (2) correction which increasesthe cost is not carried out (step S54), or (3) correction by annealingwhich increases the cost by a certain degree of a small amount ispermitted (step S56).

Then, with reference to a flowchart shown in FIG. 5, more detaileddescription will now be given of the smoothing processing across theentire color conversion LUT shown in S25 in FIG. 5.

As FIG. 5 shows, when the smoothing processing across the entire colorconversion LUT starts in S25, 0 (zero) is set to “n” in the equation(A-2-9) (step S30), and the Lab vectors:L_(p) ^(n)(p=0, 1, . . . , P−1) are input (step S32). Reference numeral P denotesthe number of the grid points.

Then, it is determined whether “n<N” or not (step S34), and if “n<N”holds (“Yes” in the step S34), the costs at grid point “p” in the state“n”:E_(p) ^(n)(p=0, 1, . . . , P−1) are calculated (step S36), the Lab vectors in thecertain state “n” at the respective grid point “p” (p=0, 1, . . . , P−1)are obtained using the equation (A-2-10), and a variable “Count” is setto P (step S38).

Reference numeral N denotes how many times the smoothing is carried out,and indicates that the maximum value of the state “n” is N−1.

If a condition “all of the grid points are not corrected” holds (“No” inthe step S40), “p” is set to 0 (zero) (step S42), and it is determinedwhether “p<P” or not (step S44).

Alternatively, if a condition “all of the grid points are corrected”holds (“Yes” in the step S40), or “p<P” does not hold (“No” in the stepS44), and “Count” is not 0 (zero) (“No” in a step S46), “n+1” is set to“n”, and probability variable parameters for the annealing are decreased(step S48), and the procedure returns to the step S34.

Alternatively, if “p<P” holds (“Yes” in the step S44), the cost for thegrid point “p” in the state “n+1”:E_(p) ^(n+1)is calculated (step S50), and it is determined whether:E _(p) ^(n+1)<E _(p) ^(n)or not (step S52). If the cost at the grid point “p” in the state “n+1”is equal to or more than the cost at the grid point “p” in the state “n”(“No” in a step S52), it is determined whether a condition “notcorrected unless cost decreases” holds (step S54), and if the condition“not corrected unless cost decreases” does not hold (“No” in the stepS54), it is determined whether a condition “correction with annealing ispermitted” holds (step S56).

If the condition “not corrected unless cost decreases” holds (“Yes” inthe step S54), or the condition “correction with annealing is notpermitted” holds (“No” in the step S56), the Lab vector at the gridpoint “p” in the state “n”:L_(p) ^(n)is set to the Lab vector at the grid point “p” in the state “n+1”:L_(p) ^(n+1)and, simultaneously, the variable (Count−1) is set to “Count” (stepS60).

Then, after the step S60, or if the cost at the grid point “p” in thestate “n+1” is less than the cost at the grid point “p” in the state “n”(“Yes” in the step S52), or the condition “correction with annealing ispermitted” holds (“Yes” in the step S56), (p+1) is set to “p” (stepS58), and the procedure returns to the step S44.

Alternatively, if “n<N” does not hold in the step S34 (“No” in the stepS34), or “Count” is 0 (“Yes” in the step S46), the Lab vector:L_(p) ^(n+1)(p=0, 1, . . . , P−1) are output (step S62), and the procedureterminates.

Then, after the smoothing processing across the entire LUT (step S25),the procedure returns to the step S26 in FIG. 5, the color conversiontable is produced (step S26), and the produced color conversion table isstored in the color conversion LUT storing unit 20 b (step S28).

The procedure described above can produce the color conversion tablecapable of enhancing the continuity of the color conversion of the imagedata.

Image Processing Device

In FIG. 8, the image processing device 20B applies desired imageprocessing to RGB image data, and outputs the processed image data to animage output device 30.

The image data are produced by separating a color image intopredetermined element colors, and representing intensities in theserespective element colors, which are chromatic colors, and may be mixedinto achromatic colors typified by gray and black if they are mixed atpredetermined ratios.

In the present embodiment, a description will be given of a case wherethe image output device is a color printer using inks in six colors: C(cyan), M (magenta), Y (yellow), K (black), c (light cyan), and m (lightmagenta), and reproducing colors based on the RGB data.

The image processing device 20B is comprised of a first color convertingunit 20 h which converts the RGB image data to Lab image data, a colorconversion LUT storing unit 20 b which stores at least the colorconversion table produced by the color conversion table producing device20A, a second color converting unit 20 a which reads a color conversiontable (LUT) selected by a color conversion LUT selecting unit 20 c fromthe color conversion LUT storing unit 20 b, refers to the read colorconversion LUT thereby converting the Lab image data to L′a′b′ imagedata, and a third color converting unit 20 g which converts the L′a′b′image data to CMYKcm image data.

A description will now be given of an operation of the image processingdevice 20B with reference to FIG. 4.

As FIG. 4 shows, if the user instructs the image output start (step 70),and a predetermined color conversion LUT is selected through the colorconversion LUT selecting unit 20 c (“Yes” in a step 72), thepredetermined color conversion LUT is read from the color conversion LUTstoring unit 20 b, and read into a RAM (step 74). Then, the colorconversion LUT is built into the second color converting unit 20 a (step76), the three-dimensional color conversion LUT is referred to carry outimage processing using interpolation, and image output processing iscarried out (step 78).

According to the image processing device 20B according to the presentembodiment, if in the step 72 is selected a color conversion table whichis produced by the color conversion table producing device 20A, and canenhance the continuity of the color conversion of the image data, thecolor conversion is carried out using the color conversion table, andthus, the tone jump after the color conversion can be prevented.

(A-3) Third Example

Using a smoothing level evaluation function used for evaluating asmoothing level at respective lattice point data after the colorconversion by a color conversion table in a color space such as the CMYspace

A function block diagram of a color conversion table producing deviceaccording to a third example is the same as the function block diagramof the first and second examples shown in FIG. 1. FIG. 19 shows afunction block diagram of an image processing device according to thethird example.

Hardware Constitution

Specific hardware constitution examples of a color conversion tableproducing device and the image processing device according to the thirdexample are the same as those shown in the schematic block diagramaccording to the first and second examples in FIG. 2, and thus, adescription will be omitted.

Image Processing Control Program

An image processing control program according to the present inventionis usually recorded on a recording medium such as a floppy disk or aCD-ROM in a form readable by a computer 12, and circulated. The programis read by a media reader (such as a CD-ROM drive 13 c and a floppy diskdrive 13 a), and then, is installed on a hard disk 13 b. There is such aconstitution that a CPU then properly reads a desired program from thehard disk 13 b, and carries out desired processing. It should be notedthat the image processing control program according to the presentinvention itself constitutes a part of the invention of the presentapplication.

The color conversion table producing device 20A shown in FIG. 1 producesthe color conversion table which converts CMY data represented ascomplements of RGB (sRGB) image data to C′M′Y image data adapted to acolor space of an image output device. This color conversion tableproduces a color conversion table capable of enhancing continuity of thecolor conversion of the image data when the CMY image data is convertedto C′M′Y image data. In the present embodiment as an example of thecolor conversion, a description will be given of the color conversion inthe CMY space.

In FIG. 1, the color conversion table producing device 20A is comprisedof a cost calculating unit 20 d, a color conversion table (LUT)smoothing unit 20 e, a color conversion table (LUT) producing unit 20 f,and a color conversion table (LUT) storing unit 20 b. A detaileddescription will be given of processing in these respective componentslater.

A description will now be given of a color conversion table producingprogram executed by the color conversion table producing device 20Ashown in FIG. 1 with reference to FIGS. 5 through 12.

FIG. 5 shows a flowchart describing color conversion table producingprocessing by the color conversion table producing device 20A.

Calculation of Respective Costs (Step S22)

As FIG. 5 shows, first, the cost calculating unit 20 d of the colorconversion table producing device 20A calculates respective costs in afunction (referred to as “evaluation function” hereinafter) E forevaluating a level of smoothing of data at respective lattice points(grid points) after the color conversion using the color conversiontable (step S22). A detailed description will now be given of theevaluation function E.

(A-3-1) The evaluation function E is designed so as to have a smallervalue if respective conditions are satisfied for a certain grid point inthe LUT. If smoothing processing is applied to a CMY vector, theevaluation function E is represented as a sum of cost terms designedbased on the respective conditions:E=E _(vt) +E _(v) +E _(d) +E _(n)  (A-3-1)where:

-   E_(vt) is a cost due to a twisted quantity of a CMY vector,-   E_(v) is a cost due to a deviation from target CMY,-   E_(d) is a cost due to an excess of the CMY value from 255, and-   E_(n) is a cost due to a CMY value reduced to minus.

The E_(vt) is a cost relating to a twist between grid points neighboringeach other, and it is possible to enhance the continuity of the imagedata after the color conversion by reducing E_(vt), thereby reducing thetwist between the neighboring grid points caused by the conversion fromCMY to C′M′Y′. E_(v) is a cost produced by a difference between the CMYvectors before and after the smoothing, and related to the differencesof the CMY vectors caused by a chronological change of the same gridpoints. E_(d) and E_(n) are costs produced if the CMY value does notfall within a range from 0 to 255 when the CMY value is normalized tothat range.

A detailed description will now be given of the respective terms. Theequation (A-3-1) shows an example of smoothing the CMY vector, andapplication to other vectors (vectors in XYZ, Lab, and other spaces) maybe carried out in the same manner.

(A-3-2) General Forms of Respective Terms of Evaluation Function E

A cost term E_(c) of the evaluation function relating to a certainvector X is represented by the following equation:

$\begin{matrix}{E_{c} = \{ \begin{matrix}{W_{1}^{t} \cdot ( {{M \cdot X} - Y_{T}} )} \\{{W_{2} \cdot ( {{M \cdot X} - Y_{T}} )}}^{2}\end{matrix} } & \text{(A-3-2)}\end{matrix}$where:

-   E_(c) is a cost (scalar),-   X is a column vector having X of elements,-   M is a Y×X matrix used for converting the vector X to a vector    Y=M·X, which is a vector having Y of elements subject to the cost,-   Y_(T) is a column vector having Y of elements,-   W₁ is a column vector having Y of elements, and represents weights    for the cost assigned to the respective elements of a vector    Y−Y_(T),-   W₂ is a Y×Y diagonal matrix, and represents weights for the cost    assigned to the respective elements of the vector Y−Y_(T), and-   “t” denotes transposition.

In the following description, a first equation and a second equation ofthe equation (A-3-2) are respectively referred to as a linear equationform and a quadratic equation form.

(A-3-3) Cost E_(vt) Due to Twisted Quantity of CMY Vector (CMY VectorSpace)

A grid point neighboring a certain grid point “p” is denoted as p_(r)(referred to as “reference grid point” hereinafter). A grid point otherthan the grid point p_(r) neighboring the certain grid point “p” isdenoted as p_(t) (referred to as “transition grid point” hereinafter),and a grid point which has the same positional relationship with thegrid point p_(t) as that the grid point “p” has with the grid pointp_(r) is denoted as p_(tr). It is assumed that the respective gridpoints “p”, p_(r), p_(t), and p_(tr) retain CMY vectors V_(p), V_(pr),V_(pt), and V_(ptr).

FIG. 12 shows positional relationship of these grid points and the CMYvectors retained by these grid points. In FIG. 12, if it is consideredthat a difference vector between V_(pr) and V_(p) is transitioned to adifference vector between V_(ptr) and V_(pt), “a displacement of thedifference vectors before and after the transition” is represented as adifference vector between these difference vectors. In addition, if atransition distance is considered as the magnitude of the differencevector between V_(pt) and V_(p), a “displacement of the differencevector before and after the transition per unit transition distance” isobtained by dividing “displacement of the difference vector before andafter the transition” by the transition distance. The twisted quantityof the CMY vector at the grid point “p” is defined by adding the squareof the magnitude of the “displacement of the difference vector beforeand after the transition per unit transition distance” for all of thegrid points p_(r) and p_(t) neighboring the grid point “p”. It should benoted that p_(r) and p_(t) may be the same grid point as long as theyare neighboring “p”.

This twisted quantity of the CMY vector is represented as a cost in anequation (A-3-3).

$\begin{matrix}{E_{vt} = {\sum\limits_{t = 1}^{T}{\sum\limits_{r = 1}^{R}{\frac{V_{p} + V_{p_{tr}} - V_{p_{r}} - V_{p_{t}}}{D_{vt}}}^{2}}}} & \text{(A-3-3)}\end{matrix}$In the equation (A-3-3),

-   “t” denotes a certain p_(t),-   T denotes the number of p_(t),-   “r” denotes a certain p_(r),-   R denotes the number of p_(r), and-   D_(vt) denotes a transition distance at “t”.

The smaller the cost E_(vt) is, the more the twisted quantity in the CMYspace can be reduced.

Comparison of the equation (A-3-3) to the quadratic equation form of theequation (A-3-2) reveals that it is not necessary to convert the CMYvector to a vector in other space, and thus, M is represented as a unitvector, and can be omitted. The respective elements are not multipliedby the weights, and thus, the W₂ is also a unit vector, and can beomitted. X corresponds to V_(p), and Y_(T) corresponds toV_(ptr)-V_(pr)-V_(pt). 1/D_(vt) ² is a constant for a certain “t”, andthus, the equation (A-3-3) has the same form as the quadratic equationform of the equation (A-3-2).

(A-3-4) Cost E_(v) Due to Deviation from Target CMY

It is assumed that a CMY vector V_(T) is an ideal (target) vector, itcan be considered that the larger a difference between the CMY vectorV_(p) at the grid point “p” and the vector V_(T) becomes, the more thecost increases. This cost is denoted as E_(v), and is represented by anequation (A-3-4). It should be noted that W_(v) is a 3×3 diagonalmatrix, and is a weight matrix for the respective elements of the CMYvector.E _(v) =|W _(v)·(V _(p) −V _(T))|²  (A-3-4)It can be confirmed that the equation (A-3-4) also has the same form asthe quadratic equation form of the equation (A-3-2).

It is not realistic that the ideal CMY vector V_(T) is known in advance,and thus, a CMY vector closer to the ideal state or a CMY vector asanother target may be employed. On this occasion, as the CMY vectorcloser to the ideal state, the CMY vector before smoothing is used. Thisis because it is expected that as the smoothing progresses, the CMYvector at the grid point comes closer to the ideal value, and therestriction on time of the smoothing is also considered.

(A-3-5) Cost Due to Excess of CMY Value from 255

If the CMY value is normalized to 0 to 255, and the elements of the CMYvector V_(p) at the grid point “p” exceed 255, the larger the excessesof them become, the larger the cost becomes. This cost is denoted asE_(d), and is represented by an equation (A-3-5). In this equation,V_(L) is a column vector having three elements which have a limit value255, W_(d1) is a weight column vector having three elements, and W_(d2)is a 3×3 weight diagonal matrix. The respective weight elements ofW_(d1) and W_(d2) are zero if V_(p)−V_(L) is 0 or less, and take apositive value if V_(p)−V_(L) is positive.

$\begin{matrix}{E_{d} = \{ \begin{matrix}{W_{d\; 1}^{t} \cdot ( {V_{p} - V_{L}} )} \\{{W_{d\; 2} \cdot ( {V_{p} - V_{L}} )}}^{2}\end{matrix} } & \text{(A-3-5)}\end{matrix}$

The equation (A-3-5) has a linear equation form and a quadratic equationform, and they may be properly selected for use. It can be confirmedthat both the linear equation form and the quadratic equation form ofthe equation (A-3-5) have the same form as those of the equation (A-3-2)based on the comparison of these equations.

(A-3-6) Cost Due to CMY Value Less than Zero

As is the case with E_(d), if the CMY value is normalized to 0 to 255,and the elements of the CMY vector V_(p) take negative values, thelarger the excesses of the negative values become, the larger the costbecomes. This cost is denoted as E_(n), and is represented by anequation (A-3-6). In this equation, W_(n1) is a weight column vectorhaving three elements, and W_(n2) is a 3×3 weight diagonal matrix. Therespective weight elements of W_(n1) and W_(n2) are negative if V_(p) isnegative, and are zero if V_(p) is 0 or more.

$\begin{matrix}{E_{n} = \{ \begin{matrix}{W_{n\; 1}^{t} \cdot V_{p}} \\{{W_{n\; 2} \cdot V_{p}}}^{2}\end{matrix} } & \text{(A-3-6)}\end{matrix}$

The equation (A-3-6) also has a linear equation form and a quadraticequation form, and they may be properly selected for use. It can beconfirmed that both the linear equation form and the quadratic equationform of the equation (A-3-6) have the same form as those of the equation(A-3-2) based on the comparison of these equations.

After the respective costs are calculated using the above (A-3-1),(A-3-3), (A-3-4), (A-3-5), and (A-3-6), the following smoothingprocessing is carried out.

Smoothing Processing (Step S24)

As FIG. 11 shows, then, the color conversion LUT smoothing unit 20 e ofthe color conversion table producing device 20A carries out smoothingprocessing (calculation of V_(p) which minimize the evaluation functionE) (step S24) detailed below.

(A-3-1) Outline of LUT Smoothing at Grid Point “p”

Smoothing of the LUT at the grid point “p” is carried out by minimizingthe evaluation function E represented by the equation (A-3-1). Though anarbitrary method for minimizing the evaluation function E represented bythe equation (A-3-1) may be used, the present embodiment employs thefollowing method.

The respective terms in the equation (A-3-1) are represented as a sum ofthe equations (A-3-3) through (A-3-6). Namely, all of the terms of theevaluation function E include the respective elements of the V_(p), andare represented as high as the quadratic form in terms of theseelements. Further, the quadratic form is the square of the linear form,and is always a downwardly convex function. Namely, the evaluationfunction E takes the minimum value for the V_(p) which equates functionobtained by partially differentiating E by the respective elements ofV_(p) to a zero vector.

As described above, all of the equations (A-3-3) through (A-3-6) takethe same form as the equation (A-3-2). Hereinafter, the equation (A-3-2)is used to show a general form of partial differentiation of therespective terms of the evaluation function E by the respective elementsof V_(p) (X in the case of the equation (A-3-2)). An equation (A-3-7)shows a case where the equation (A-3-2) is partially differentiated bythe respective elements of X.

$\begin{matrix}\begin{matrix}{A = ( {\frac{\partial E_{c}}{\partial X_{1}}\mspace{14mu}\cdots\mspace{14mu}\frac{\partial E_{c}}{\partial X_{x}}\mspace{14mu}\cdots\mspace{14mu}\frac{\partial E_{c}}{\partial X_{X}}} )^{t}} \\{= \{ \begin{matrix}{( {W_{1}^{t} \cdot M} )^{t}} \\{2{( {W_{2} \cdot M} )^{t} \cdot W_{2} \cdot ( {{M \cdot X} - Y_{T}} )}}\end{matrix} }\end{matrix} & ( {A\text{-}3\text{-}7} )\end{matrix}$where A denotes a column vector having X of elements, and the respectiveelements are obtained by partially differentiating E_(c) by therespective elements X_(x) of X. It should be noted that “x” is theelement number of the vector X, and x=1, 2, . . . , X.(A-3-2) Partial Differentiation of Evaluation Function E by Elements ofV_(p)

The following section shows partially differentiated equations (A-3-3)through (A-3-6) by the respective elements of V_(p) as in the case ofthe equation (A-3-7). In the following equation, A_(vt), A_(v), A_(d),and A_(n) denote column vectors having three elements respectivelyobtained by partially differentiating E_(vt), E_(v), E_(d), and E_(n) bythe respective elements of C_(p), M_(p), and Y_(p) of V_(p).

$\begin{matrix}\begin{matrix}{A_{vt} = ( {\frac{\partial E_{vt}}{\partial C_{p}}\mspace{31mu}\frac{\partial E_{vt}}{\partial M_{p}}\mspace{31mu}\frac{\partial E_{vt}}{\partial Y_{p}}} )^{t}} \\{= {\sum\limits_{t = 1}^{T}{\sum\limits_{r = 1}^{R}{\frac{2}{D_{vt}^{2}}( {V_{p} + V_{p_{tr}} - V_{p_{r}} - V_{p_{t}}} )}}}}\end{matrix} & ( {A\text{-}3\text{-}8} ) \\\begin{matrix}{A_{v} = ( {\frac{\partial E_{v}}{\partial C_{p}}\mspace{31mu}\frac{\partial E_{v}}{\partial M_{p}}\mspace{31mu}\frac{\partial E_{v}}{\partial Y_{p}}} )^{t}} \\{= {2{W_{v}^{2} \cdot ( {V_{p} - V_{T}} )}}}\end{matrix} & ( {A\text{-}3\text{-}9} ) \\\begin{matrix}{A_{d} = ( {\frac{\partial E_{d}}{\partial C_{p}}\mspace{31mu}\frac{\partial E_{d}}{\partial M_{p}}\mspace{31mu}\frac{\partial E_{d}}{\partial Y_{p}}} )^{t}} \\{= \{ \begin{matrix}{W_{dt}} \\{2{W_{d\; 2}^{2} \cdot ( {V_{p} - V_{L}} )}}\end{matrix} }\end{matrix} & ( {A\text{-}3\text{-}10} ) \\\begin{matrix}{A_{n} = ( {\frac{\partial E_{n}}{\partial C_{p}}\mspace{31mu}\frac{\partial E_{n}}{\partial M_{p}}\mspace{31mu}\frac{\partial E_{n}}{\partial Y_{p}}} )^{t}} \\{= \{ \begin{matrix}{W_{n\; t}} \\{2{W_{n\; 2}^{2} \cdot W_{p}}}\end{matrix} }\end{matrix} & ( {A\text{-}3\text{-}11} )\end{matrix}$

The sum of the equations (A-3-8) through (A-3-11) is a vector obtainedby partially differentiating the evaluation function E by the respectiveelements of V_(p). If this vector is a zero vector, and this equation issolved for V_(p), there can be obtained V_(p) which minimizes E. Namely,it means to solve:

$\begin{matrix}\begin{matrix}{{f( V_{p} )} = {A_{vt} + A_{v} + A_{d} + A_{n}}} \\{= 0}\end{matrix} & ( {A\text{-}3\text{-}12} )\end{matrix}$for V_(p). It should be noted that “f” is a vector obtained by partiallydifferentiating E by the respective elements of V_(p), and isrepresented in a function form, and “0” denotes a zero vector.

As described above, the color conversion LUT smoothing unit 20 f obtainsV_(p) which minimizes the evaluation function E, and then, terminatesthe smoothing processing.

Smoothing Processing Across Overall LUT (Step S25)

As FIG. 5 shows, then, the color conversion LUT smoothing unit 20 e ofthe color conversion table producing device 20A carries out smoothingprocessing across the entire color conversion LUT (step S25) detailedbelow.

For carrying out the smoothing processing across the entire LUT, if itis possible to correct only V_(p) without changing the CMY vectorsretained on the grid points other than the grid point “p”, it ispossible to obtain an optimal V_(p) in the method described above.However, in a more realistic case, it is actually necessary to correctthe CMY vectors retained on the grid points other than the grid point“p” for smoothing across the entire color conversion LUT. Therefore, thesmoothing across the entire color conversion LUT is carried out byrepeating sequential correction of the CMY vectors at the respectivegrid points.

If the correction of the CMY vector at the grid point “p” in a state “n”to a next state (solving the equation (A-3-12) for V_(p)) is denoted as“g”, this correction is generally represented as an equation (A-3-13).V _(p) ^(n+1) =g( . . . , V _(p−1) ^(n) , V _(p) ^(n) , V _(p+1) ^(n). .. )  (A-3-13)If the correction from the state “n” to the state “n+1” is carried outat all the grid points, the costs E at the respective grid points arenot always reduced. As the equation (A-3-13) shows, the CMY vectors inthe state “n+1” are obtained for the respective grid points based on thecost E in the state “n”, and thus, the cost E in the state “n+1” is notconsidered for obtaining the equation (A-3-13). Namely, though, due tothe purpose of reducing the cost, it is expected that the cost in thestate “n+1” is smaller than the cost in the state “n” at most of thegrid points, it does not always hold true.

Therefore, (1) the correction is carried out at the entire grid pointsusing the equation (A-3-13) (step S40), (2) the correction whichincreases the cost is not carried out (step S54), or (3) the correctionby annealing which increases the cost by a certain degree of a smallamount is permitted (step S56).

Then, with reference to a flowchart shown in FIG. 11, more detaileddescription will now be given of the smoothing processing across theentire color conversion LUT shown in step S25 in FIG. 5.

As FIG. 11 shows, when the smoothing processing across the entire colorconversion LUT starts in S25, 0 (zero) is set to “n” in the equation(A-3-13) (step S30), and the CMY vectors:V_(p) ^(n)(p=0, 1, . . . , P−1) are input (step S32). Reference numeral P denotesthe number of the grid points.

Then it is determined whether “n<N” or not (step S34), and if “n<N”holds (“Yes” in the step S34), the costs at grid point “p” in the state“n”:E_(p) ^(n)(p=0, 1, . . . , P−1) are calculated (step S36), the CMY vectors in thecertain state “n” at the respective grid point “p” (p=0, 1, . . . , P−1)are obtained using the equation (A-3-13), and a variable “Count” is setto P (step S38).

Reference numeral N denotes how many times the smoothing is carried out,and indicates that the maximum value of the state “n” is N−1.

If a condition “all of the grid points are not corrected” holds (“No” inthe step S40), “p” is set to 0 (zero) (step S42), and it is determinedwhether “p<P” or not (step S44).

Alternatively, if a condition “all of the grid points are corrected”holds (“Yes” in the step S40), or “p<P” does not hold (“No” in the stepS44), and “Count” is not 0 (zero) (“No” in a step S46), “n+1” is set to“n”, and probability variable parameters for the annealing are decreased(step S48), and the procedure returns to the step S34.

Alternatively, if “p<P” holds (“Yes” in the step S44), the cost for thegrid point “p” in the state “n+1”:E_(p) ^(n+1)is calculated (step S50), and it is determined whether:E _(p) ^(n+1)<E _(p) ^(n)or not (step S52). If the cost at the grid point “p” in the state “n+1”is equal to or more than the cost at the grid point “p” in the state “n”(“No” in the step S52), it is determined whether a condition “notcorrected unless cost decreases” holds (step S54), and if the condition“not corrected unless cost decreases” does not hold (“No” in the stepS54), it is determined whether a condition “correction with annealing ispermitted” holds (step S56).

If the condition “not corrected unless cost decreases” holds (“Yes” inthe step S54), or the condition “correction with annealing is notpermitted” holds (“No” in the step S56), the CMY vector at the gridpoint “p” in the state “n”:V_(p) ^(n)is set to the CMY vector at the grid point “p” in the state “n+1”:V_(p) ^(n+1)and, simultaneously, the variable (Count−1) is set to “Count” (stepS60).

Then, after the step S60, or if the cost at the grid point “p” in thestate “n+1” is less than the cost at the grid point “p” in the state “n”(“Yes” in the step S52), or the condition “correction with annealing ispermitted” holds (“Yes” in the step S56), (p+1) is set to “p” (stepS58), and the procedure returns to the step S44.

Alternatively, if “n<N” does not hold in the step S34 (“No” in the stepS34), or “Count” is 0 in the step S46 (“Yes” in the step S46), the CMYvector:V_(p) ^(n+1)(p=0, 1, . . . , P−1) are output (step S62), and the procedureterminates.

Then, after the smoothing processing across the entire LUT (step S25),the procedure returns to the step S26 in FIG. 5, the color conversiontable is produced (step S26), and the produced color conversion table isstored in the color conversion LUT storing unit 20 b (step S28).

The procedure described above can produce the color conversion tablecapable of enhancing the continuity of the color conversion of the imagedata.

Image Processing Device

In FIG. 19, the image processing device 20B applies desired imageprocessing to RGB image data, and outputs the processed image data to animage output device 30.

The image data are produced by separating a color image intopredetermined element colors, and representing intensities in theserespective element colors, which are chromatic colors, and may be mixedinto achromatic colors typified by gray and black if they are mixed atpredetermined ratios.

In the present embodiment, a description will be given of a case wherethe image output device is a color printer using inks in six colors: C(cyan), M (magenta), Y (yellow), K (black), c (light cyan), and m (lightmagenta), and reproducing colors based on the RGB data.

The image processing device 20B is comprised of a first color convertingunit 20 h which converts the RGB image data to CMY image data, a colorconversion LUT storing unit 20 b which stores at least the colorconversion table produced by the color conversion table producing device20A, a second color converting unit 20 a which reads a color conversiontable (LUT) selected by a color conversion LUT selecting unit 20 c fromthe color conversion LUT storing unit 20 b, refers to the read colorconversion LUT thereby converting the CMY image data to C′M′Y′ imagedata, and a third color converting unit 20 g which converts the C′M′Y′image data to CMYKcm image data.

A description will now be given of an operation of the image processingdevice 20B with reference to FIG. 4.

As FIG. 4 shows, if the user instructs the image output start (step 70),and a predetermined color conversion LUT is selected through the colorconversion LUT selecting unit 20 c (“Yes” in a step 72), thepredetermined color conversion LUT is read from the color conversion LUTstoring unit 20 b, and read into the RAM (step 74). Then, the colorconversion LUT is built into the second color converting unit 20 a (step76), the three-dimensional color conversion LUT is referred to carry outimage processing using interpolation, and image output processing iscarried out (step 78).

According to the image processing device 20B according to the presentembodiment, if in the step 72 is selected a color conversion table whichis produced by the color conversion table producing device 20A, and canenhance the continuity of the color conversion of the image data, thecolor conversion is carried out using the color conversion table, andthus, the tone jump is prevented after the color conversion.

(B) Second Embodiment (Chroma Maintenance Processing)

If simple smoothing is applied to the table to solve the discontinuityin the lattice, the chroma may decrease across the entire table. Adescription will now be given of a chroma maintenance processing forproducing a color conversion table which restrains the color twist andthe tone jump as much as possible while maintaining the chroma.

The chroma maintenance processing is carried out in “(A-1-6) Cost E_(v)due to deviation from target virtual CMY”. As described in (A-1-6), itis considered that the virtual CMY vector V_(p) at the grid point “p”takes the virtual CMY vector V_(T) as an ideal vector, this cost E_(v)is denoted by the equation (A-1-6) using the conversion matrix K.

It should be noted that W_(v) is a 3×3 diagonal matrix, and is a weightmatrix for the respective elements of the virtual CMY vector. It can beconfirmed that the equation (A-1-6) also has the same form as the secondequation of the equation (A-1-2).

It is not realistic that an ideal virtual CMY vector V_(T) is known inadvance as in the case of I_(T), and thus, a virtual CMY vector closerto an ideal state or a virtual CMY vector as another target may beemployed. On this occasion, as the virtual CMY vector closer to theideal state, the virtual CMY vector before smoothing is used. This isbecause it is expected that as the smoothing progresses, the virtual CMYvector comes closer to the smoother ideal virtual CMY vector, and therestriction on time of the smoothing is also considered.

However, the smoothing may decrease the chroma represented by the colordata at grid points. If the chroma decreases, vividness of an imagedecreases, and thus, the colors are not reproduced faithfully.Therefore, it is desirable that the chroma of the color data before andthe after the smoothing is maintained approximately constant.

A description will now be given of the chroma maintenance processingwith reference to FIG. 13.

FIG. 13(A) shows the virtual CMY space. The virtual CMY space isrepresented by a C axis, an M axis, and a Y axis. A lightness axis 100is a line satisfying C=M=Y in the virtual CMY space, and color dataspecified by a color coordinate on the lightness axis 100 representsgray. The lightness changes along the lightness axis 100. It should benoted that the chroma changes along a line orthogonal to the lightnessaxis 100, namely a chroma axis 110, and the hue changes in a huedirection 120 about the lightness axis 100 on a plane perpendicular tothe lightness axis 100.

FIG. 13(B) shows a CM plane in the virtual CMY space shown in FIG.13(A). The chroma maintenance processing is described on the CM planefor the sake of simple description. In FIG. 13(B), the horizontal axisand the vertical axis represent the C axis and the M axis respectively.It should be noted that the lightness axis 100 in the FIG. 13(A) isprojected on the CM plane.

A color coordinate of the grid point “p” is represented as (C_(p),M_(p), Y_(p)) in the virtual CMY space. It is assumed that a targetpoint of the smoothing of the grid point “p” in the virtual CMY is apoint T, and the color coordinate of the point T is represented as(C_(T), M_(T), Y_(T)).

The respective minimum distances from the grid point “p” and the point“T” to the lightness axis 100 are denoted as L_(p) and L_(T). If theshortest distance from the respective grid point to the lightness axis100 corresponds to the chroma represented by the color data at that gridpoint, the chroma values of the grid point “p” and the point “T”respectively corresponds to the L_(p) and L_(T).

In FIG. 13(B), the positional relationship between the grid point “p”and the point T is “L_(T)<L_(p)”, the chroma at the point T is lowerthan the chroma at the grid point “p”. In this case, to avoid thedecrease of the chroma, a position T′ (color coordinate (C_(T)′, M_(T)′,Y_(T)′)) which satisfies “L_(T)′=L_(p)” is set as a target point in thevirtual CMY in place of the point T. On this occasion, the chroma at thepoint T′ is the same as that at the grid point “p”. Further, thelightness and the hue at the point T′ are equal to those at the point T.

In this way, if the chroma represented by the color data decreases dueto the smoothing, the target color coordinate in the virtual CMY ischanged from the color coordinate at the point T to the color coordinateat the point T′, thereby maintaining the chroma constant withoutchanging the lightness and the hue of the color data.

If the target color coordinate is changed from the point T to the pointT′ in the virtual CMY, the equation (A-1-6) is changed as:E _(v) =|W _(v)·(K·I _(p) −V _(T)′)|²  (B-7)where a virtual CMY vector V_(T)′ is a vector held at the point T′. Itshould be noted that the point T′ satisfies “L_(T)′=L_(p)”.

Vector components of a virtual CMY vector K·I_(p) (=V_(p)) at the gridpoint “p” and the vector components of the target virtual CMY vectorV_(T)′ at the point T′ are respectively represented as:

$\begin{matrix}{V_{p}\begin{pmatrix}C_{p} \\M_{P} \\Y_{p}\end{pmatrix}} & ( {B\text{-}8} ) \\{V_{T}^{\prime}\begin{pmatrix}C_{T}^{\prime} \\M_{T}^{\prime} \\Y_{T}^{\prime}\end{pmatrix}} & ( {B\text{-}9} )\end{matrix}$The following equation is obtained by assigning the equations (B-8) and(B-9) to the equation (B-7).

$\begin{matrix}{E_{v} = {{W_{v} \cdot ( {\begin{pmatrix}C_{p} \\M_{P} \\Y_{p}\end{pmatrix} - \begin{pmatrix}C_{T}^{\prime} \\M_{T}^{\prime} \\Y_{T}^{\prime}\end{pmatrix}} )}}^{2}} & ( {B\text{-}10} )\end{matrix}$

In this way, if the target point T in the virtual CMY space satisfies“L_(T)<L_(p)”, the equation (B-10) is used for the point T′ satisfying“L_(T)′=L_(p)”, thereby maintaining the chroma of the color dataconstant before and after the smoothing. Then, the processing from(A-1-7) is carried out.

A description will now be given of a variation to the chroma maintenanceprocessing.

First Variation

In a first variation, a chroma ratio is considered where the chromaratio is specified by a ratio of the chroma of color data to the maximumchroma determined by the lightness and the hue of the color data.Namely, in the smoothing according to the present variation, the chromaratio of color data before the smoothing and the chroma ratio of colordata after the smoothing are approximately the same.

A description will now be given of calculation of E_(v) according to thepresent variation with reference to FIG. 14. FIG. 14 shows the CM planeand the lightness axis 100 projected on the CM plane. It is assumed thatthe color coordinate of the grid point “p” in the virtual CMY is (C_(p),M_(p), Y_(p)), and the color coordinate of the point T is (C_(T), M_(T),Y_(T)).

The chroma at the grid point “p” is L_(p), and the chroma at the point Tis L_(T). The maximum chroma determined by the lightness and the hue atthe grid point “p” is denoted as L_(pmax), the maximum chroma determinedby the lightness and the hue at the point T is denoted as L_(Tmax).

In the first variation, if the chroma L_(T) at the point T satisfies“(L_(T)/L_(Tmax))<(L_(p)/L_(pmax))”, it is considered that the chromadecreases. In this case, to avoid the decrease of the chroma, a positionT′ (color coordinate (C_(T)′, M_(T)′, Y_(T)′)) which satisfies“(L_(T)′/L_(Tmax))=(L_(p)/L_(pmax))” is set as a target point in thevirtual CMY in place of the point T. Further, the lightness and the hueat the point T′ are respectively equal to those at the point T.

In this way, if the chroma ratio of the color data decreases due to thesmoothing, the target coordinate in the virtual CMY is changed from thecolor coordinate at the point T to the color coordinate at the point T′,thereby maintaining the chroma ratio constant without changing thelightness and the hue of the color data.

In this case, the cost E_(v) is calculated using the equation (B-10)described in the present embodiment. It should be noted that the virtualCMY vector V_(T)′ is a vector which satisfies“(L_(T)′/L_(max))<(L_(p)/L_(pmax))” in the equation (B-10). In this way,if the target point Tin the virtual CMY space satisfies“(L_(T)/L_(Tmax))<(L_(p)/L_(pmax))”, the equation (B-10) is used for thepoint T′ satisfying “(L_(T)′/L_(Tmax))=(L_(p)/L_(pmax))”, therebymaintaining the chroma ratio of the color data constant before and afterthe smoothing.

Second Variation

A description will now be given of a second variation of how tocalculate the cost E_(v) due to a deviation from the target virtual CMY.Though the second variation is the same as the first variation inmaintaining the chroma ratio constant, the same processing as the firstvariation is carried out only if the color data at a grid point beforethe smoothing presents the maximum chroma value in the presentvariation.

As a result, if the color data at a grid point presents the maximumchroma value before the smoothing, the color data after the smoothingmaintains the maximum chroma value.

Third Variation

A description will now be given of a third variation of how to calculatethe cost E_(v) due to a deviation from the target virtual CMY. Thoughthe third variation is the same as the first and second variations inmaintaining the chroma ratio constant, the chroma ratio of the colordata is maintained approximately constant before and after the smoothingif the color data at a grid point before the smoothing does not have atleast one color of CMY constituting the color data in the thirdvariation.

A description will now be given of calculation of E_(v) according to thethird variation with reference to FIG. 15. FIG. 15 shows the CM planeand the lightness axis 100 projected on the CM plane as in the case ofFIG. 14. The color coordinate of a grid point “p” in FIG. 15 is (C_(p),0, Y_(p)), and does not include M of the element colors of CMY. Thus, ifa target point T in the virtual CMY (color coordinate (C_(T), M_(T),Y_(T)) (M_(T)≠0)) satisfies “(L_(T)′/L_(Tmax))<(L_(p)/L_(pmax))”, thechroma decreases, and also the element color M which is not contained inthe color data before the smoothing is contained. However, according tothe third example, a point T′ which satisfies“(L_(T)/L_(Tmax))=(L_(p)/L_(pmax))”, namely the point T′ at a colorcoordinate (C_(T)′, 0, Y_(T)′), is employed as a target coordinate inthe virtual CMY in place of the coordinate of the point T. Therefore,color data after the smoothing can be caused not to include an elementcolor which is not included in the color data before the smoothing, andsimultaneously, the chroma of the color data before and after thesmoothing can be maintained constant.

(C) Third Embodiment (Program File Producing Device)

FIG. 16 shows a function block diagram of a profile producing device 20according to an embodiment of the present invention. A specific hardwareconstitution example of the profile producing device 20 is the same asthe schematic block diagram according to the first embodiment in FIG. 2,and thus, a description will be omitted.

It should be noted that “profile” described in the claims corresponds to“ICC profile” according to the present embodiment. The ICC profile is acolor conversion table compliant with specifications of the ICC(International Color Consortium). A “color conversion table” implies atable for converting device values (such as RGB values) to inkquantities (such as CMYKcm), and the device value is dependent on acolor reproduction characteristic of an image output device which is aseparation characteristic, and is not applied with specific colorcorrection as in the case of a color correction table. In a descriptionbelow, the color conversion table may be simply referred to as “colorconversion LUT′” for the sake of simplicity of the description.

“Smoothed table producing means” described in the claims corresponds toa cost calculating unit 20 g, a color conversion LUT smoothing unit 20f, and a color conversion LUT producing unit 20 e, and “color chartproducing means” corresponds to a color converting unit 20 a.

Constitution of Profile Producing Device

FIG. 16 is the function block diagram of the profile producing device 20according to the embodiment of the present invention. The colorconverting unit 20 a of the profile producing device 20 converts inputRGB image data to CMYKcm image data, and causes a printer as an imageoutput device 30 to print a color chart 50 based on the converted CMYKcmimage data. On the other hand, an ICC profile producing unit 20 i of theprofile producing device 20 uses colorimetry data of the printed colorchart to produce an ICC profile.

The image data are produced by separating a color image intopredetermined element colors, and representing intensities in theserespective element colors, which are chromatic colors, and may be mixedinto achromatic colors typified by gray and black if they are mixed atpredetermined ratios.

The color chart represents output results of the image output device 30arranged on predetermined areas when the respective RGB values of animage input signal shown in FIG. 16 are independently changed in thetone from 0 to 255 at a predetermined tone step. It is assumed that therespective RGB values of the image input signal and the correspondingarranged locations of the output results are known in advance.

Though, in the present embodiment, a description is given of a casewhere the profile producing device 20 produces an ICC profile used forcolor conversion from RGB to Lab, an ICC profile used for other colorconversion can be produced in the same manner. Namely, there can beproduced an ICC profile used for color conversion from device values(such as RGB values, CMY values, and CMYK values) dependent on the colorreproduction characteristic of the image output device to colorimetryvalues (Lab values, Luv values, XYZ values, and CIE CAM97S) indicatingappearance of a color.

The profile producing device 20 shown in FIG. 16 is comprised of thecost calculating unit 20 g for calculating a function (referred to as“evaluation function” hereinafter) E for evaluating a level of smoothingof data at respective lattice points (grid points) after the colorconversion, the color conversion LUT smoothing unit 20 f for carryingout smoothing processing using costs calculated by the cost calculatingunit 20 g, the color conversion LUT producing unit 20 e for producing acolor conversion LUT capable of enhancing continuity of color data whenCMY data are converted to CMYKcm data using the smoothed data at therespective grid points, the color converting unit 20 a for convertingthe RGB data to the CMYKcm data using the color conversion LUT producedby the color conversion LUT producing unit 20 e, and the ICC profileproducing unit 20 i for producing an ICC profile using valuescolor-metered by a colorimetry unit 20 h.

Profile Producing Processing Control Program

A profile producing processing control program according to the presentinvention is usually recorded on a recording medium such as a floppydisk or a CD-ROM in a form readable by the computer 12, and circulated.The program is read by a media reader (such as a CD-ROM drive 13 c and afloppy disk drive 13 a), and then, is installed on a hard disk 13 b.There is such a constitution that a CPU then properly reads a desiredprogram from the hard disk 13 b, and carries out desired processing. Itshould be noted that the profile producing processing control programaccording to the present invention itself constitutes a part of theinvention of the present application.

A description will now be given of the profile producing processingcontrol program executed by the profile producing device 20 shown inFIG. 16 with reference to FIG. 17 and FIG. 18.

FIG. 17 shows a flowchart showing an operation of the profile producingdevice 20 when the color conversion LUT is produced.

As FIG. 17 shows, first, the cost calculating unit 20 g carries outcalculation processing for the respective costs of the evaluationfunction E which is a function for evaluating the level of smoothing ofdata at the respective grid points after the color conversion (stepS22). The calculation processing for the respective costs is similar tothat of the first example of the first embodiment, and thus, adescription will be omitted.

Then the color conversion LUT smoothing unit 20 f carries out thesmoothing processing at the respective grid points (step S24). Thesmoothing processing is also similar to that of the first example of thefirst embodiment, and thus, a description will be omitted.

Then, the color conversion LUT smoothing unit 20 f carries out thesmoothing processing across the entire color conversion LUT (step S25).The smoothing processing across the entire color conversion LUT is alsosimilar to that of the first example of the first embodiment, and thus,a description will be omitted.

Then, after the smoothing processing across the entire LUT (step S25),the procedure returns to the step S26 in FIG. 17, and the colorconversion LUT producing unit 20 e produces the color conversion LUT(step S26).

The procedure described above can produce the color conversion LUTcapable of enhancing continuity of the color conversion of the imagedata by correcting jumps of the separation characteristic.

FIG. 18 is a flowchart showing an operation of the profile producingdevice 20 when the ICC profile is produced using the color conversionLUT produced by the color conversion LUT producing processing describedin FIG. 17.

First, RGB image data for producing the color chart 50 is transmitted tothe color converting unit 20 a and the ICC profile producing unit 20 i(step S80). Then, the color converting unit 20 a refers to the colorconversion LUT produced by the color conversion LUT producing unit 20 eso as to carry out the color conversion from the RGB image data to theCMYKcm image data using interpolation, creates the color chart 50 fromthe CMYKcm image data after the color conversion, and causes the printeras the image output device 30 to print the produced color chart 50 (stepS82).

In this way, the profile producing device 20 according to the presentembodiment uses the color conversion LUT to produce the color chart 50,where the color conversion LUT is produced using the evaluation functionE, namely the color conversion LUT can enhance the continuity of thecolor conversion of the image data by correcting the jumps in theseparation characteristic.

Then, the colorimetry unit 20 h measures colors at the respectivelattice points in the printed color chart 50 (step S84). The colorimetryunit 20 h color-meters the respective colors as Lab data in the Labspace.

Then, the profile producing unit 20 i corresponds the RGB data as theimage input data in respective predetermined areas on the color chartobtained in the step S80 and the Lab data as the color-metered values bythe colorimetry unit 20 h in the respective predetermined areas to eachother, thereby producing the ICC profile (step S86).

In this way, the profile producing device 20 according to the presentembodiment uses the color chart 50 to produce the ICC profile used forconverting RGB data to Lab data where the color chart 50 is producedusing the color conversion LUT capable of enhancing the continuity ofthe color conversion of image data by correcting the jumps in theseparation characteristic. In this way, it is possible to prevent tonejumps in an image after the color conversion by carrying out the colorconversion using the ICC profile produced by the profile producingdevice 20.

Though the above description for the present invention is given of theone embodiment, the technical scope of the present invention is notlimited to the above description, and the above embodiment may bemodified or improved.

1. An image processing device comprising: a first color conversion unitthat converts RGB image data to CMY image data; a color conversion tablestoring unit that stores at least a color conversion table produced by acolor conversion table producing device; a second color converting unitthat converts the CMY image data to CMYKcm data on the basis of thecolor conversion table, which is selected by a color conversion tableselecting unit and which is read from the color conversion table storingunit; wherein said image processing device carries out image processingusing said color conversion table produced by obtaining ink-quantityvectors I_(p), which are retained by a certain grid point “p” and whichminimize a smoothing level evaluation function E used for evaluating asmoothing level at respective lattice point data after color conversionby the color conversion table, at the respective grid points, whereinsaid smoothing level evaluation function E includes an evaluationfunction Eit based on a twisted quantity of an ink-quantity vectorbefore and after the conversion using the color conversion table,wherein the evaluation function Eit is represented as a mathematicalexpression (A-1-3), $\begin{matrix}{E_{it} = {\overset{T}{\sum\limits_{t = 1}}{\overset{R}{\sum\limits_{r = 1}}{\frac{I_{p} + I_{ptr} - I_{pr} - I_{pt}}{D_{t}}}^{2}}}} & \text{(A-1-3)}\end{matrix}$ and wherein “t” is a suffix, which denotes a certain gridpoint p_(t), “T” denotes the number of p_(t), “r” is a suffix, whichdenotes a certain grid point p_(r), “R” denotes the number of p_(r),D_(t) denotes a transition distance at “t,” the respective grid points“p,” p_(r), p_(t), and P_(tr) retain ink-quantity vectors I_(p), I_(pr),I_(pt), and I_(ptr), a grid point neighboring a certain grid point “p”is denoted as p_(r), a grid point other than the grid point p_(r)neighboring the grid point “p” is denoted as p_(t) and a grid pointwhich has the same positional relationship with the grid point p_(t) asthe grid point “p” has with the grid point p_(r) is denoted as P_(tr).2. The image processing device according to claim 1, wherein saidsmoothing level evaluation function includes an evaluation functionbased on a twisted quantity in a virtual CMY space.
 3. The imageprocessing device according to claim 1, wherein said twisted quantitiesare corrected both in said ink-quantity space and saidthree-dimensionalized virtual CMY space so as to correct the twistedquantities while maintaining continuity of the space before and aftercompression of the dimension.
 4. The image processing device accordingto claim 1, wherein said smoothing level evaluation function includes anevaluation function based on a deviation level from a target inkquantity.
 5. The image processing device according to claim 1, whereinsaid smoothing level evaluation function includes an evaluation functionbased on a deviation level from target virtual CMY.
 6. The imageprocessing device according to claim 1, wherein said smoothing levelevaluation function includes an evaluation function based on an excesslevel from an ink quantity limitation.
 7. The image processing deviceaccording to claim 1, wherein said smoothing level evaluation functionincludes an evaluation function based on an ink quantity reduced tominus.
 8. The image processing device according to claim 1, wherein saidsmoothing level evaluation function includes an evaluation functionbased on ink generation.
 9. An image processing method for carrying outimage processing performed by using an image processing device, whereinthe image processing device includes a first color conversion unit thatconverts RGB image data to CMY image data, a color conversion tablestoring unit that stores at least a color conversion table produced by acolor conversion table producing device, a second color converting unitthat converts the CMY image data to CMYKcm data on the basis of thecolor conversion table, which is selected by a color conversion tableselecting unit and which is read from the color conversion table storingunit, said image processing using the color conversion table produced byobtaining ink-quantity vectors I_(p), which are retained by a certaingrid point “p” and which minimize a smoothing level evaluation functionE used for evaluating a smoothing level at respective lattice point dataafter color conversion by the color conversion table, at the respectivegrid points, wherein said smoothing level evaluation function E includesan evaluation function Eit based on a twisted quantity of anink-quantity vector before and after the conversion using the colorconversion table, wherein the evaluation function Eit is represented asa mathematical expression (A-1-3), $\begin{matrix}{E_{it} = {\overset{T}{\sum\limits_{t = 1}}{\overset{R}{\sum\limits_{r = 1}}{\frac{I_{p} + I_{ptr} - I_{pr} - I_{pt}}{D_{t}}}^{2}}}} & \text{(A-1-3)}\end{matrix}$ and wherein “t” is a suffix, which denotes a certain gridpoint p_(t), “T” denotes the number of p_(t), “r” is a suffix, whichdenotes a certain grid point p_(r), “R” denotes the number of p_(r),D_(t) denotes a transition distance at “t,” the respective grid points“p,” p_(r), p_(t), and p_(tr) retain ink-quantity vectors I_(p), I_(pr),I_(pt), and I_(ptr), a grid point neighboring a certain grid point “p”is denoted as p_(r), a grid point other than the grid point p_(r)neighboring the grid point “p” is denoted as p_(t), and a grid pointwhich has the same positional relationship with the grid point p_(t) asthe grid point “p” has with the grid point p_(r) is denoted as p_(tr) .10. A computer-readable medium storing a computer program ofinstructions for execution by the computer to perform image processingusing a color conversion table produced by obtaining ink-quantityvectors I_(p), which are retained by a certain grid point “p” and whichminimize a smoothing level evaluation function E used for evaluating asmoothing level at respective lattice point data after color conversionby the color conversion table, at the respective grid points, whereinsaid smoothing level evaluation function E includes an evaluationfunction Eit based on a twisted quantity of an ink-quantity vectorbefore and after the conversion using the color conversion table,wherein the evaluation function Eit is represented as a mathematicalexpression (A-1-3), $\begin{matrix}{E_{it} = {\overset{T}{\sum\limits_{t = 1}}{\overset{R}{\sum\limits_{r = 1}}{\frac{I_{p} + I_{ptr} - I_{pr} - I_{pt}}{D_{t}}}^{2}}}} & \text{(A-1-3)}\end{matrix}$ and wherein “t” is a suffix, which denotes a certain gridpoint p_(t), “T” denotes the number of p_(t), “r” is a suffix, whichdenotes a certain grid point p_(r), “R” denotes the number of p_(r),D_(t) denotes a transition distance at “t,” the respective grid points“p,” p_(r), p_(t), and p_(tr) retain ink-quantity vectors I_(p), I_(pr),I_(pt), and I_(ptr), a grid point neighboring a certain grid point “p”is denoted as p_(r), a grid point other than the grid point p_(r)neighboring the grid point “p” is denoted as p_(t), and a grid pointwhich has the same positional relationship with the grid point p_(t) asthe grid point “p” has with the grid point p_(r) is denoted as p_(tr) .